Android中每个用户的唯一ID

时间:2012-01-29 06:34:43

标签: android

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

很抱歉,如果这是一个明显的问题,因为我是新手。

4 个答案:

答案 0 :(得分:7)

Stack Overflow已多次询问此问题。

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

Android开发者博客对此有a good article

正如约阿希姆所说 - 你可能想要完全考虑一种不同的方法。 Android的唯一ID在工厂重置期间保持良好且持久,但不能通过设备升级。另请注意,很多人都有多种设备(如手机和平板电脑)。您可能希望使用Google帐户,AccountManager可以帮助您。

答案 1 :(得分:0)

使用SharedPreferences存储唯一ID。

以下是一个例子:

Android SharedPreferences

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

您可以获得设备的IMEI。从API 26开始,不推荐使用getDeviceId()。如果您需要获取设备的IMEI,请使用以下命令:

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