我想在安装应用程序后立即为每个用户分配唯一ID,以便每当应用程序联系服务器时,我知道谁在联系。 为此,我认为在第一次安装时,应用程序会联系服务器并获取唯一ID。但我不知道永久存储它的位置,以便下次启动应用程序时,它知道它的ID是什么,而不是联系服务器。
很抱歉,如果这是一个明显的问题,因为我是新手。
答案 0 :(得分:7)
Stack Overflow已多次询问此问题。
简而言之:Android始终支持唯一ID。但是,在Android 2.2之前,ID在某些类型的手机上并不总是相同。由于2.2现在非常普遍,我会使用该ID。
Android开发者博客对此有a good article。
正如约阿希姆所说 - 你可能想要完全考虑一种不同的方法。 Android的唯一ID在工厂重置期间保持良好且持久,但不能通过设备升级。另请注意,很多人都有多种设备(如手机和平板电脑)。您可能希望使用Google帐户,AccountManager
可以帮助您。
答案 1 :(得分:0)
答案 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();
}