android系統中獲取imei號和其他手機資訊

lmldownloading發表於2011-08-27
 
在android系統中獲取imei號和其他手機資訊

如果需要通過android SDK獲取手機相關資訊。需要通過如下方式獲取:

TelephonyManager telephonyManager=(TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE); String imei=telephonyManager.getDeviceId();

不過,光這麼寫,會有類似如何檢視android產生的異常的報錯,主要是因為android的許可權需要開啟,在AndroidManifest.xml檔案中增加:

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

就可以拿到手機的imei號了。

TelephonyManager還有其他方法可以呼叫,獲取手機的其他資訊。

比如獲取手機號碼,可以這樣:

telephonyManager.getLine1Number();

不過在g1手機上測試,使用移動全球通的sim卡,無法得到手機號碼,是個空字串。

獲取手機的sim卡號

telephonyManager.getSimSerialNumber();

這個可以在上述環境下得到。

獲取客戶id,在gsm中是imsi號:

telephonyManager.getSubscriberId();

 

用WIFI的MAC地址,也是全球唯一,自己看看要不要用吧!我用這種方法了
public String getLocalMacAddress() {
                WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
                WifiInfo info = wifi.getConnectionInfo();
                return info.getMacAddress();
        }
對了,模擬器返回null,並且還要在Manifest.xml里加個許可權,<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />,否則異常

相關文章