我使用下面的代码来获取Android ID
String android_id = Secure.getString(context.getContentResolver(),
Secure.ANDROID_ID);
我能够获得Android ID,但它的长度不固定。在某些手机中,我获得了16个身高ID,而在另一部手机中,我获得了15个身高ID。
我在文档中读到它是一个64十六进制十进制数,所以它应该总是返回16位数字符串。
所以我有什么不对劲吗?
以下code snippet from AOSP显示了如何生成ANDROID_ID:
SecureRandom random = new SecureRandom();
String newAndroidIdValue = Long.toHexString(random.nextLong());
已知方法Long.toHexString
抑制前导零。因此,如果长度小于16,则在ANDROID_ID前加零,应该是纠正获得完整16位ANDROID_ID的方法。