我需要生成一个可靠的设备 ID。我现在正在使用Secure.getString(this.getContentResolver(), Secure.ANDROID_ID)
,但是在恢复出厂设置或刷新另一个 ROM 后它会改变。您能否建议一个真正无法更改的硬件 ID?
更新:到目前为止建议的解决方案都没有帮助:建议的 ID 要么可以更改,要么不总是可用,或两者兼而有之。而且我也绝对需要它来重新安装。
我需要生成一个可靠的设备 ID。我现在正在使用Secure.getString(this.getContentResolver(), Secure.ANDROID_ID)
,但是在恢复出厂设置或刷新另一个 ROM 后它会改变。您能否建议一个真正无法更改的硬件 ID?
更新:到目前为止建议的解决方案都没有帮助:建议的 ID 要么可以更改,要么不总是可用,或两者兼而有之。而且我也绝对需要它来重新安装。
您可以像这样获取 IMEI 号码:
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String imei = tm.getDeviceId();
在您的 AndroidManifest.xml 中:
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
IMEI 号码保证是唯一的,并且永远不会在任何设备上更改。
我没有找到比Secure.getString(this.getContentResolver(), Secure.ANDROID_ID)
这更好的东西了,尽管它有缺点,但必须继续使用它。