【发布时间】:2017-09-25 01:12:09
【问题描述】:
我正在使用 SMS 开发一个 android 防盗应用程序,我正在检测小偷是否更换了 SIM 卡,然后将已插入的新 SIM 卡号码发送到备用号码,以便他们可以向该新号码发送命令。
我的问题是:如何知道插入的新号码或如何开发代码来知道新插入的 SIM 卡的数量?
【问题讨论】:
标签: android sms phone-number
我正在使用 SMS 开发一个 android 防盗应用程序,我正在检测小偷是否更换了 SIM 卡,然后将已插入的新 SIM 卡号码发送到备用号码,以便他们可以向该新号码发送命令。
我的问题是:如何知道插入的新号码或如何开发代码来知道新插入的 SIM 卡的数量?
【问题讨论】:
标签: android sms phone-number
在服务器上存储以前的 sim 卡号(imsi 号),每次有人插入新的 sim 卡时都会得到 sim_state_reciever(通过使用接收器 android.intent.action.SIM_STATE_CHANGED) 并获取新的 sim 卡号并将以前的 sim 卡号与新的卡号进行比较,一旦您检测到 sim 卡更改然后触发查询以获取电话号码并将该电话号码存储在服务器上。
【讨论】:
TelephonyManager myTelManager=(TelephonyManager)myContext.getSystemService(Context.TELEPHONY_SERVICE);
String phoneNumber = myTelephonyManager.getLine1Number();
您还应该将此权限添加到清单文件中。
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
存储该电话号码并在每次 sim state_changed 时检查。
P.S : 它有时会发送“null”作为响应。
for more information about sim state changed BroadcastReceiver
【讨论】: