我的应用程序一直使用 DeviceId 作为唯一标识符,当然,这需要 READ_PHONE_STATE 作为权限。这在过去没问题,但现在我已经迁移到 Marshmellow 23,在其中请求此权限会在运行时显示一个非常可怕的对话框,说......
“允许{我的应用}拨打和管理电话吗?”
对于只想获取 deviceId 的应用程序来说,这是一个非常可怕的消息。
我正在考虑切换到 Android ID,因为它不需要任何许可。
String androidId = Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID);
谷歌搜索我发现使用 android ID 存在一些问题,但都是旧东西。早在 Froyo 时代,就有一家手机供应商为他们的所有手机制作了相同的 ID,但这就是我所看到的。
有人知道使用 Android ID 有什么问题吗?谢谢,院长