github位址
android中能作為唯一標識有四個,但付出一定的代價還是還是能改變,所以目前android中沒有絕對的唯一標識。
1、裝置id(imei) (需要授予許可權)
telephonymanager telephonymanager = (telephonymanager) getsystemservice(context.telephony_service
);return telephonymanager != null ? telephonymanager.getdeviceid() : null;
2、sim卡有乙個id(使用者可能會換手機卡) (imsi)
sim卡唯一標識:imsi 國際移動使用者識別碼(imsi:international mobile subscriber identification number)是區別移動使用者的標誌,儲存在sim卡中,可用於區別移動使用者的有效資訊。imsi由mcc、mnc、msin組成
telephonymanager telephonymanager = (telephonymanager) getsystemservice(context.telephony_service
);return telephonymanager != null ? telephonymanager.getsubscriberid() : null;
從上面可以發現,無論是獲取imei還是imsi,都使用telephonymanager這個類,通過getsystemservice(context.telephony_service)方法獲取
telephonymanager實列
getdeviceid獲取imei,getsubscriberid獲取imsi
3、wifi或藍芽的mac位址(缺陷:需要許可權、且開啟藍芽和wifi,6.0開始獲取不到真實的值)
並且android6.0開始,為了給使用者更多的資料保護,android 移除了通過 wifi 和藍芽 api 來在應用程式中可程式設計的訪問本地硬體標示符。現在 wifiinfo.getmacaddress() 和 bluetoothadapter.getaddress() 方法都將返回 02:00:00:00:00:00 。
android 裝置唯一標識 Android ID
android id是裝置第一次啟動時產生和儲存的64bit的乙個數,當裝置被wipe 刷機,恢復出廠設定 後該數重置。string secureid settings.secure.getstring getcontentresolver settings.secure.android id 這裡...
Android裝置的唯一標識
android name android.permission.read phone state 獲取imei return imei private string getimei catch exception e android name android.permission.access wi...
Android獲取手機唯一標識
1.許多應用都有這樣的需求獲取你的手機唯一標識,當你解除安裝軟體重新安裝的時候也要保證這個唯一標識不變,所以只能根據手機硬體的去獲取到唯一標識.2.有好多跟硬體相關都會有各種許可權問題。一種很簡單直接獲取到read phone state的許可權,讀取到裝置串號.3.如果是android6.0系統需...