0

我知道,这android.Build.SERIAL是在第一次设备启动时生成的,但我无法找到确切的位置和时间。我正在构建AOSP Jelly Bean,Android 平板电脑,nosdcard。

第二个问题:这个序列号真的对所有Android设备都是唯一的吗?

4

1 回答 1

2

根据这个线程,它清楚地表明它是独一无二的,但从 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);

请注意,因为它说如果执行出厂重置,该值可能会更改。

于 2013-05-20T09:59:14.910 回答