Android 设备唯一ID,在不使用设备信息时保持不变

Android 设备唯一ID,在不使用设备信息时保持不变,android,uuid,Android,Uuid,我使用设备信息为android设备创建了唯一的ID,但在阅读了谷歌的安全提示后,我想以某种方式更改它 : 如果可以以不需要任何权限的方式设计应用程序,那么这是最好的。例如,与其请求访问设备信息以创建唯一标识符,不如为应用程序创建一个 如何为下次运行应用程序或设备重新启动时不会更改的设备提供唯一ID?您可以使用以下方法: Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID) 它返回唯一的androi

我使用设备信息为android设备创建了唯一的ID,但在阅读了谷歌的安全提示后,我想以某种方式更改它

:

如果可以以不需要任何权限的方式设计应用程序,那么这是最好的。例如,与其请求访问设备信息以创建唯一标识符,不如为应用程序创建一个


如何为下次运行应用程序或设备重新启动时不会更改的设备提供唯一ID?

您可以使用以下方法:

Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID)
它返回唯一的android id,不需要任何权限


您也可以查看。

您可以使用IMEI号码,这是每部手机独有的号码,但您需要询问

<uses-permission android:name="android.permission.READ_PHONE_STATE" />


在api 23及以上版本的运行期间。

Settings.Secure.ANDROID\u ID确实是设备信息!哦,我明白了。你是对的,但我认为它不是独一无二的当一个设备有多个用户(在运行Android 4.2或更高版本的某些设备上可用)时,每个用户都会显示为一个完全独立的设备,因此Android_ID值对每个用户都是唯一的。但是在出厂重置期间,该ID会被更改,对吗?可能是@Firnaz!!!此外,它有时被称为空值,并记录为“在工厂重置时可以更改”。使用的风险由你自己承担,而且我应该说它可以很容易地在一个有根的手机上更改。那么你怎么看待谷歌帖子呢?是否可以拥有唯一ID而不使用权限?使用Settings.Secure.getString(getContentResolver(),Settings.Secure.ANDROID_ID)可以在无需请求权限的情况下为您提供唯一ID,但据我所知,此值可能会在出厂重置时更改。