我知道,这android.Build.SERIAL
是在第一次设备启动时生成的,但我无法找到确切的位置和时间。我正在构建AOSP Jelly Bean
,Android 平板电脑,nosdcard。
第二个问题:这个序列号真的对所有Android
设备都是唯一的吗?
我知道,这android.Build.SERIAL
是在第一次设备启动时生成的,但我无法找到确切的位置和时间。我正在构建AOSP Jelly Bean
,Android 平板电脑,nosdcard。
第二个问题:这个序列号真的对所有Android
设备都是唯一的吗?
根据这个线程,它清楚地表明它是独一无二的,但从 API 9 开始添加,并且可能不会出现在所有设备上。
如果您正在为特定设备的型号编写应用程序,则可以直接检查它是否具有 IMEI。否则,正如您所说,我建议您编写自定义 ID 生成器模块。
您将确保您的 ID 是唯一的并且可用于所有设备。
IMEI 代表设备的序列号。它肯定是独一无二的。两个不同的设备不能有相同的序列号。
要获取设备的序列号,您只需调用:
String serial = Build.SERIAL;
它存在另一种方法。您可以通过调用获取 id Secure.ANDROID_ID
。
在设备首次启动时随机生成的 64 位数字(作为十六进制字符串),在设备的整个生命周期内应保持不变。(如果在设备上执行恢复出厂设置,该值可能会发生变化。)
private final String ANDROID_ID = Secure.getString(getContext().getContentResolver(),
Secure.ANDROID_ID);
请注意,因为它说如果执行出厂重置,该值可能会更改。