Android中每个用户的唯一ID

一旦他安装了应用程序,我想要为每个用户分配唯一的ID,以便每当应用程序联系我知道谁联系的服务器。 为此,我认为在第一次安装时,应用程序会联系服务器并获得唯一的ID。 但是我不知道在哪里永久存储它,以便下次启动应用程序时,它知道它的ID是什么,而不是联系服务器。

对不起,如果这是一个明显的问题,因为我是新手。

Solutions Collecting From Web of "Android中每个用户的唯一ID"

这个问题已经被Stack Overflow问过很多次了。

简而言之:Android始终支持唯一的ID。 但是,在Android 2.2之前,某些手机上的ID并不总是相同的。 由于2.2现在非常普遍,所以我会使用这个ID。

Android开发人员博客有一个很好的文章 。

正如约阿希姆所说 – 你可能想要完全考虑一个不同的方法。 Android独一无二的ID在整个工厂重置过程中performance良好且持久,但无法跨设备升级。 另外请记住,许多人有几个设备(如手机和平板电脑)。 您可能需要使用Google帐户, AccountManager可以帮助您。

使用SharedPreferences来存储唯一的ID。

这里是一个例子:

Android SharedPreferences

对于更复杂的数据,您可以使用SQlite。

对于唯一的ID,您可以使用应用程序即将安装的设备的IMEI。 请参阅此链接了解如何获取IMEI号码。 然后将该IMEI号存储在共享首选项中。 请参阅Guillermo lobar的链接。 当您启动应用程序时,您需要首先检查该唯一ID。 在第一次,优先保存。 所以当下一次检查该ID时,应用程序会优先查找,因此不需要连接服务器。 🙂

你可以得到设备的IMEI。 从API 26开始,getDeviceId()已被弃用。 如果您需要获取设备的IMEI,请使用以下命令:

  String deviceId = ""; if (Build.VERSION.SDK_INT >= 26) { deviceId = getSystemService(TelephonyManager.class).getImei(); }else{ deviceId = getSystemService(TelephonyManager.class).getDeviceId(); }