从传入消息 (SMS) 中获取 IMSI 号码或目标电话号码

2023-12-12

我正在开发一个应用程序,需要接收短信的设备(具有多个 SIM 卡)的 IMSI/电话号码。

这基本上是为了识别哪个 SIM 卡正在接收短信并稍后执行进一步的操作。

我彻底搜索了 SMSMessage Api,但没有找到合适的解决方案。

任何帮助将不胜感激。


据我所知,您无法从传入的短信中获取目标电话号码、IMSI。

您可以这样获取 IMSI 和 SIM 卡的电话号码。

你可以得到SIM卡的IMSI号码,但我不认为你能够得到所有SIM卡的电话号码,因为有些制造商没有在SIM卡中保存电话号码,所以你会得到NULL。

在Android中,无法使用Android SDK获取第二张SIM卡信息。您只能获取第一张SIM卡的信息。

Android SDK 支持第一张 SIM 卡信息,并且双 SIM 卡功能由制造商提供,因此 Android SDK 并未正式支持。

添加这个AndroidManifest.xml

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

将其添加到您想要获取 SIM 详细信息的位置。

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

获取第一张 SIM 卡的 IMSI

String imsi = telemamanger.getSimSerialNumber();

获取第一张 SIM 卡的电话号码

if(telemamanger.getLine1Number() != null)
    String phoneNumber = telemamanger.getLine1Number();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从传入消息 (SMS) 中获取 IMSI 号码或目标电话号码 的相关文章

随机推荐