安全的Android ID长度是多少?

4
我正在使用以下代码获取Android ID。
 String android_id = Secure.getString(context.getContentResolver(),
            Secure.ANDROID_ID);

我能获取到Android ID,但是长度不固定。在一些手机上,我得到的ID长度为16位,在另一些手机上,我得到的ID长度为15位。

我在文档中读到它应该是一个64个十六进制数字组成的数字,因此应该始终返回16位字符串。

所以,我是否做错了什么?


可能安卓系统会抑制前导零? - Robert
2
那我只需要在开头添加“0”吗?这样做是否正确? - WISHY
1个回答

14
以下是来自AOSP的代码片段,展示了ANDROID_ID的生成方式:
String androidId = Long.toHexString(new SecureRandom().nextLong());

方法Long.toHexString已知会忽略前导零。因此,如果ANDROID_ID的长度小于16,应该在前面添加零以获得完整的16位ANDROID_ID。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接