是否有唯一的 Android 设备 ID?

新手上路,请多包涵

Android 设备是否有唯一 ID,如果有,使用 Java 访问它的简单方法是什么?

原文由 Tyler 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 807
2 个回答

Settings.Secure#ANDROID_ID 返回 Android ID 作为 _每个用户的唯一_ 64 位十六进制字符串。

 import android.provider.Settings.Secure;

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

另请阅读 唯一标识符的最佳实践https ://developer.android.com/training/articles/user-data-ids

原文由 Anthony Forloney 发布,翻译遵循 CC BY-SA 4.0 许可协议

生成设备标识符

 private String generateDeviceIdentifier() {
    String uniqueDevicePseudoID = "35" +
            Build.BOARD.length() % 10 +
            Build.BRAND.length() % 10 +
            Build.DEVICE.length() % 10 +
            Build.DISPLAY.length() % 10 +
            Build.HOST.length() % 10 +
            Build.ID.length() % 10 +
            Build.MANUFACTURER.length() % 10 +
            Build.MODEL.length() % 10 +
            Build.PRODUCT.length() % 10 +
            Build.TAGS.length() % 10 +
            Build.TYPE.length() % 10 +
            Build.USER.length() % 10;

    String serial = Build.getRadioVersion();
    String uuid = new UUID(uniqueDevicePseudoID.hashCode(), serial.hashCode()).toString();
    Log.e("DeviceIdentifier ", "\nDeviceIdentifier uuid is : " + uuid);
    return uuid;
}

输出

DeviceIdentifier uuid is : 00000000-36ab-9c3c-0000-0000714a4f37

在此处输入图像描述

原文由 Bholendra Singh 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题