我需要在服務器上註冊具有唯一標識符的用戶設備,該唯一標識符爲常量值,將來不會更改。Android - 唯一且恆定的設備ID
我無法找到一個很好的解決方案,從所有設備(有/無SIM卡)獲取唯一的ID。
Secure.ANDROID_ID:Secure.ANDROID_ID不是唯一的,可以爲空或在出廠重置時更改。
String m_androidId = Secure.getString(getContentResolver(), Secure.ANDROID_ID);
IMEI:IMEI是依賴於設備的simcard的插槽,所以它是不可能得到的IMEI對於不使用simcard的設備。
TelephonyManager tManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
String uuid = tManager.getDeviceId();
WLAN MAC地址:如果設備不具備WiFi硬件,然後返回null MAC地址。用戶可以更改設備的mac地址。
WifiManager m_wm = (WifiManager)getSystemService(Context.WIFI_SERVICE);
String m_wlanMacAdd = m_wm.getConnectionInfo().getMacAddress();
藍牙地址字符串:如果設備有沒有藍牙硬件則返回null。
BluetoothAdapter m_BluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
String m_bluetoothAdd = m_BluetoothAdapter.getAddress();
Instance id:當用戶卸載並重新安裝應用程序實例ID將發生變化。這不是一個常數值。
您是否有任何想法從所有Android設備(帶/不帶SIM卡,藍牙......)獲取唯一的ID,這些ID真的是唯一的,不能爲空,並且在卸載/重新安裝應用後不會更改?
請注意,沒有SIM卡和WiFi的平板電腦不能存在或遠程使用。你有沒有考慮過兩者的組合? –
@STTLCU no。但用戶可以更改設計的MAC地址。 –
@STTLCU我不確定你身邊有哪些平板電腦,但幾乎沒有人知道平板電腦擁有SIM卡。 –