我正在开发一个针对 Android 4.0(API 14)及以上版本的应用程序。
我正在寻找一个设备唯一且永久保存(随设备而亡,在出厂重置后不变)的序列号。
我在网上找到了很多关于 Android 设备唯一标识符的结果,但很少有关于 android.os.Build.SERIAL 号的信息。
到目前为止,我排除了使用 ANDROID_ID,因为它可能会在出厂重置后更改。我也排除了使用 IMEI,因为 Android 设备可能是非电话设备。我无法使用 wifi 或蓝牙 MAC ADDRESS,因为设备可能没有这样的硬件和/或如果硬件未启用,则这些 MAC 地址可能无法读取(根据我在网上找到的信息)。
我认为我可以使用 Android 设备序列号。
它很容易通过 android.os.Build.SERIAL 访问(因为它是在 API 级别 9 中添加的,不需要任何额外的权限)。
我的问题是:
考虑到我的应用程序的目标对象是Android 4.0(API 14)及以上版本,请问是否每个 Android 设备的 android.os.Build.SERIAL 号都是唯一的?
目前,android.os.Build.SERIAL 的文档说明如下:硬件序列号(如果有)。仅限字母数字,不区分大小写。这是不是意味着序列号可能不可用?
还有哪些其他备选方案符合上述条件?