安全的Android ID长度?

时间:2015-04-27 07:41:19

标签: android udid

我使用以下代码获取Android ID

 String android_id = Secure.getString(context.getContentResolver(),
            Secure.ANDROID_ID);

我能够获得Android ID,但它的长度不固定。在某些手机中,我获得了16个身高ID,而在另一部手机中,我获得了15个身高ID。

我在文档中读到它是一个64十六进制十进制数,所以它应该总是返回16位字符串。

我正在做错什么?

1 个答案:

答案 0 :(得分:8)

以下code snippet from AOSP显示了如何生成ANDROID_ID:

SecureRandom random = new SecureRandom();
String newAndroidIdValue = Long.toHexString(random.nextLong());

已知方法Long.toHexString可以抑制前导零。因此,如果长度小于16,请在ANDROID_ID前加零,这应该是纠正获得完整16位ANDROID_ID的方法。