Android唯一標識

2021-08-06 06:50:51 字數 1075 閱讀 4373

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系統需...