我需要生成符合以下條件的設備ID:如何在Android設備上獲取唯一且一致的設備ID
它是普遍獨特的。 它是一致的(儘可能多),即對同一設備保持不變。 它需要最小的權限。 傳輸和存儲是合法的。 例如,這個解決方案可能是一個硬件ID,它可以在沒有特殊權限的情況下進行訪問,然後通過電線進行散列和發送,我只是不知道是否有。
P.S.設備不能紮根,我不想在任何類型的鑰匙鏈或其他任何地方存儲任何東西。只需立即生成,並保持不變,獨立於正在生成的應用程序。並在出廠重置或其他罕見的場合重置它很好。
我需要生成符合以下條件的設備ID:如何在Android設備上獲取唯一且一致的設備ID
它是普遍獨特的。 它是一致的(儘可能多),即對同一設備保持不變。 它需要最小的權限。 傳輸和存儲是合法的。 例如,這個解決方案可能是一個硬件ID,它可以在沒有特殊權限的情況下進行訪問,然後通過電線進行散列和發送,我只是不知道是否有。
P.S.設備不能紮根,我不想在任何類型的鑰匙鏈或其他任何地方存儲任何東西。只需立即生成,並保持不變,獨立於正在生成的應用程序。並在出廠重置或其他罕見的場合重置它很好。
private String getIMEINumber() {
TelephonyManager mngr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
return mngr.getDeviceId();
}
而且在清單文件:
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
IMEI是每個器件唯一
或者你可以得到MAC地址:
WifiManager wifiManager (WifiManager)getSystemService(Context.WIFI_SERVICE);
WifiInfo wInfo = wifiManager.getConnectionInfo();
String macid = wInfo.getMacAddress();
不要忘記添加許可:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
但它可以在默認情況下,單臺設備 –
多會將第一個如果多個可用和其他人都無法訪問 –
imei號碼應該是唯一的設備 – dex
儘管使用實例ID:https://developers.google.com/instance-id/ –
多一個選項:'String imsi = android.os.SystemProperties.get( android.telephony.TelephonyProperties.PROPERTY_IMSI);' –