为了唯一标识每个设备,我想使用 IMEI(或 CDMA 设备的 ESN 编号)。如何以编程方式访问它?
最佳答案
您想调用 android.telephony.TelephonyManager.getDeviceId()
.
这将返回唯一标识设备的任何字符串(GSM 上的 IMEI,CDMA 上的 MEID)。
您的AndroidManifest.xml
中需要以下权限:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
为了做到这一点。
话虽这么说,但要小心这样做。用户不仅会想知道您的应用程序为什么要访问他们的电话堆栈,而且如果用户获得了新设备,可能很难迁移数据。
更新:正如下面评论中提到的,这不是一种安全的用户身份验证方式,并且会引起隐私问题。不推荐。相反,请查看 Google+ Login API如果你想实现一个无摩擦的登录系统。
Android Backup API如果您只想在用户重置手机(或购买新设备)时使用一种轻量级的方式来持久保存字符串包,也可以使用此方法。
关于android - 如何在android中以编程方式获取设备的IMEI/ESN?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1972381/