3

我看过很多帖子说安卓文档不支持双卡手机。

就我而言,我想识别设备,以便可以将其存储IMEI在我的服务器上。但是因为手机可能有双卡,所以会使用代码

android.telephony.TelephonyManager.getDeviceId()

每次我运行它时会返回相同的 IMEI,还是它可能一次返回第一个 sim 插槽的 IMEI,另一次返回第二个 sim 插槽的 IMEI?

因为我的应用程序将与服务器核对以授予他在该设备上运行的访问权限。因此,如果上面的代码行总是返回相同的 sim 卡插槽的 IMEI,那么我就不用担心手机有双卡。因为我只想获得与我的应用程序首次在服务器上运行时保存的相同的 IMEI。

所以简而言之,我想知道运行上面的这段代码会一直给我相同IMEI的结果,或者它会随机给我IMEI任何 sim 插槽以进行不同的运行?

如果我不说清楚,请告诉我。

4

2 回答 2

0

在 android L TelephonyManager.java 中有获取每个插槽的设备的 API。 公共字符串 getDeviceId(int slotId)

因此,对于每个 SIM,您都可以获得 IMEI。

于 2015-06-15T11:30:28.653 回答
0

在 Android L 之前,没有官方支持双 SIM 卡手机。由于 IMEI 被标记到特定的 SIM 卡插槽,因此 TelephonyManager.getDeivceId() 返回的值会因 SIM 卡插入的插槽而异。

您可以查看我的SO,其中我描述了双 SIM 手机在 Android OS 官方支持之前返回的值,以及一些解决方法。

注意:没有 SIM 卡的平板电脑不会有 IMEI

于 2018-03-29T00:47:14.777 回答