繁体   English   中英

是否可以使用getDeviceId在Android双SIM卡设备中获取不同的IMEI

[英]Is it possible to get different IMEI in android dual SIM device using getDeviceId

我正在使用双SIM卡手机,在拨打*#06# ,得到了两个IMEI号码(IMEI1 = ***973 & IMEI2 = ***980)

当尝试使用telePhonyManager.getDeviceId() ,我总是得到***973(IMEI1)

TelephonyManager mngr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);

        textView.append("IMEI Number: " + mngr.getDeviceId());

在我的应用程序中,我将使用IMEI编号作为用户的唯一参考。

在搜索相关内容时,一些站点发布了getDeviceId()可能返回***980(IMEI2) 我的问题是,将来是否有可能getDeviceId()方法返回***980(IMEI2)?

简短的回答你的问题是NO,有写代码,将取回的双SIM卡手机的IMEI两个数字没有万无一失的方法。 官方的AOSP仅支持单SIM卡使用,并且所有具有双SIM卡功能的设备的OS源代码均已由电话制造商修改。

如果一部手机的两个插槽中都有两个SIM卡,则默认情况下将检索第一个插槽的IMEI号码;如果一部手机中的两个插槽中只有一个SIM卡,则将占用一个插槽的IMEI编号(第一个或第二个)默认情况下被检索。 这是我在MicromaxHTC手机上观察到的行为,但我怀疑这也取决于实现。

我建议您编写代码,使其不依赖于多个SIM卡。 最好不要将手机的IMEI号码用于任何用途,因为在将来的Android版本中可能会删除该号码。 iOS已经阻止开发人员访问IMEI号码。

在SO上有一篇文章,作者使用了一种非常创新的技术(即反射)来获得在双SIM卡手机上获取第二个IMEI号码的方法的名称 非常有趣,但是几乎不可能在生产代码中使用。

使用API​​级别23,Android启用了getDeviceId(slotIndex)来为双卡手机获取不同的IMEI / MEID。 要获取插槽数,请调用getPhoneCount()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM