⑴ android開發如何獲取手機imei號
TelephonyManager mTm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
String imei = mTm.getDeviceId();
許可權:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
參考:
http://blog.csdn.net/hytfly/article/details/8552483
⑵ android 代碼獲取IMEI,IMSI都為空,怎麼解決
Android獲取IMSI和IMEI :
IMSI是一個唯一的數字,標識了GSM和UMTS 網路里的唯一一個用戶.
它存儲 在手機的SIM卡里,它會通過手機發送到網路上。
IMEI也是一串唯一的數字,標識了GSM 和UMTS網路里的三星 Galaxy I9100.。
它通常被列印在手機里電池下面的那一面,撥 *#06# 也能看到它。
代碼:
這里是你在Android里讀出 唯一的 IMSI-ID/IMEI-ID 的方法。
java:
StringmyIMSI=
android.os.SystemProperties.get(android.telephony.TelephonyProperties.PROPERTY_IMSI
);
//withinmyemulatoritreturns:310995000000000
StringmyIMEI=
android.os.SystemProperties.get(android.telephony.TelephonyProperties.PROPERTY_IMEI
);
//withinmyemulatoritreturns:000000000000000
手機號碼不是所有的都能獲取。只是有一部分可以拿到。這個是由於移動運營商沒有把手
機號碼的數據寫入到sim卡中。sim卡只有唯一的編號,供網路與設備識別那就是imsi號碼,手機的信號也可以說是通過這個號碼在網路中傳遞的,並不是手機號碼。
試想,你的sim丟失後,補辦一張新的會換號碼嗎? —不會就是因為在你的手機號碼對應的 imsi號在移動運營商中被修改成新sim卡的imsi號碼。
這個就像是一個變數,當移動運營商為它賦值了,它自然就會有值。不賦值自然為空。
/** * 獲得手機的一些標志符* *@paramc *@returnString 手機的類型 */
publicStringfetch_status(Contextc){
TelephonyManagertm=(TelephonyManager)c
.getSystemService(Context.TELEPHONY_SERVICE);//
Stringstr="";
StringIMSI=tm.getSubscriberId();
str+="DeviceId(IMEI)="+tm.getDeviceId()+"/n";
str+="DeviceSoftwareVersion="+tm.getDeviceSoftwareVersion()
+"/n";
str+="Line1Number="+tm.getLine1Number()+"/n";
return str;
}
⑶ android如何通過adb命令獲取手機的IMEI
java獲得android的imei號步驟:
1、許可權添加:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
TelephonyManager telephonyManager = (TelephonyManager) this
.getSystemService(Context.TELEPHONY_SERVICE);
String IMEI = telephonyManager.getDeviceId();
2、adb命令獲得:
adb shell mpsys iphonesubinfo
⑷ android怎麼獲取手機imei號
您可以通過手機設置的關於本機選項下查看手機IMEI碼。
也可以通過撥號鍵盤輸入*#06#獲得。
⑸ android系統如何獲取imei號碼,獲取手機型號和系統版本號
/** * **創建日期 2010-4-29 下午05:02:47 * */ package net.sunniwell.app; import android.app.Activity; import android.os.Bundle; import android.telephony.CellLocation; import android.telephony.PhoneStateListener; import android.telephony.TelephonyManager; public class TelManager extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TelephonyManager tm = (TelephonyManager) this.getSystemService(TELEPHONY_SERVICE); /* * 電話狀態: * 1.tm.CALL_STATE_IDLE=0 無活動 * 2.tm.CALL_STATE_RINGING=1 響鈴 * 3.tm.CALL_STATE_OFFHOOK=2 摘機 */ tm.getCallState();//int /* * 電話方位: * */ tm.getCellLocation();//CellLocation /* * 唯一的設備ID: * GSM手機的 IMEI 和 CDMA手機的 MEID. * Return null if device ID is not available. */ tm.getDeviceId();//String /* * 設備的軟體版本號: * 例如:the IMEI/SV(software version) for GSM phones. * Return null if the software version is not available. */ tm.getDeviceSoftwareVersion();//String /* * 手機號: * GSM手機的 MSISDN. * Return null if it is unavailable. */ tm.getLine1Number();//String /* * 附近的電話的信息: * 類型:List * 需要許可權:android.Manifest.permission#ACCESS_COARSE_UPDATES */ tm.getNeighboringCellInfo();//List /* * 獲取ISO標準的國家碼,即國際長途區號。 * 注意:僅當用戶已在網路注冊後有效。 */ tm.getNetworkOperatorName();//String /* * 當前使用的網路類型: * 例如: NETWORK_TYPE_UNKNOWN 網路類型未知 0 NETWORK_TYPE_GPRS GPRS網路 1 NETWORK_TYPE_EDGE EDGE網路 2 NETWORK_TYPE_UMTS UMTS網路 3 NETWORK_TYPE_HSDPA HSDPA網路 8 NETWORK_TYPE_HSUPA HSUPA網路 9 NETWORK_TYPE_HSPA HSPA網路 10 NETWORK_TYPE_CDMA CDMA網路,IS95A 或 IS95B. 4 NETWORK_TYPE_EVDO_0 EVDO網路, revision 0. 5 NETWORK_TYPE_EVDO_A EVDO網路, revision A. 6 NETWORK_TYPE_1xRTT 1xRTT網路 7 */ tm.getNetworkType();//int /* * 手機類型: * 例如: PHONE_TYPE_NONE 無信號 PHONE_TYPE_GSM GSM信號 PHONE_TYPE_CDMA CDMA信號 */ tm.getPhoneType();//int /* * Returns the ISO country code equivalent for the SIM provider's country code. * 獲取ISO國家碼,相當於提供SIM卡的國家碼。 * */ tm.getSimCountryIso();//String /* * Returns the MCC+MNC (mobile country code + mobile network code) of the provider of the SIM. 5 or 6 decimal digits. * 獲取SIM卡提供的移動國家碼和移動網路碼.5或6位的十進制數字. * SIM卡的狀態必須是 SIM_STATE_READY(使用getSimState()判斷). */ tm.getSimOperator();//String /* * 服務商名稱: * 例如:中國移動、聯通 * SIM卡的狀態必須是 SIM_STATE_READY(使用getSimState()判斷). */ tm.getSimOperatorName();//String /* * SIM卡的序列號: * 需要許可權:READ_PHONE_STATE */ tm.getSimSerialNumber();//String /* * SIM的狀態信息: * SIM_STATE_UNKNOWN 未知狀態 0 SIM_STATE_ABSENT 沒插卡 1 SIM_STATE_PIN_REQUIRED 鎖定狀態,需要用戶的PIN碼解鎖 2 SIM_STATE_PUK_REQUIRED 鎖定狀態,需要用戶的PUK碼解鎖 3 SIM_STATE_NETWORK_LOCKED 鎖定狀態,需要網路的PIN碼解鎖 4 SIM_STATE_READY 就緒狀態 5 */ tm.getSimState();//int /* * 唯一的用戶ID: * 例如:IMSI(國際移動用戶識別碼) for a GSM phone. * 需要許可權:READ_PHONE_STATE */ tm.getSubscriberId();//String /* * 取得和語音郵件相關的標簽,即為識別符 * 需要許可權:READ_PHONE_STATE */ tm.getVoiceMailAlphaTag();//String /* * 獲取語音郵件號碼: * 需要許可權:READ_PHONE_STATE */ tm.getVoiceMailNumber();//String /* * ICC卡是否存在 */ tm.hasIccCard();//boolean /* * 是否漫遊: * (在GSM用途下) */ tm.isNetworkRoaming();// } }
⑹ 如何獲取android設備的imei號
java獲得android的imei號步驟:
1、許可權添加:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
2、調用android的api
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
String IMEI = telephonyManager.getDeviceId();
3、adb命令獲得:
adb shell mpsys iphonesubinfo
4、任何手機都可以在撥打電話的界面輸入*#06# 來查看IMEI。
⑺ 如何在android下用c語言獲取imei號碼
va獲得android的imei號許可權添加 TelephonyManager telephonyManager = (TelephonyManager) this .getSystemService(Context.TELEPHONY_SERVICE); String IMEI = telephonyManager.getDeviceId(); adb命令獲得:adb shell mpsys iphonesubinfo有時候返回為空是因為,模塊電源關閉了。重置後需要打開模塊電源才能讀出來查看機器的一些系統設置參數adb shell getprop
⑻ 安卓十如何讓應用獲得imei
可以在手機的設置裡面看到許可權管理,給這個應用可以讀取imei的許可權就可以。
⑼ android 獲取imei
TelephonyManager mTm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
String imei = mTm.getDeviceId();
許可權:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
⑽ android開發 在service中怎麼獲取手機的imei
那是因為你在一個靜態函數中使用了this。你可能寫的是這樣的:
你把this代表的對象,用函數的入口參數來替換(即函數增加一個入口參數,函數中不能使用this)。
例如:
static void method(object a)
{
object xxxx = a.getSystemService(TELEPHONY_SERVICE);
}