开机检查是否更换sim卡

来源:互联网 发布:数据库update语法 编辑:程序博客网 时间:2024/05/04 20:21

-------------------监听sim卡是否变更----------------

1.创建一个类 继承BroadcastReceiver  然后在清单文件中声明监听开机完成事件

  <!-- 广播接收者 接收开机事件 -->        <receiver android:name="com.heima.mobilesafe.receiver.BootCompleteReceiver" >            <intent-filter>                <action android:name="android.intent.action.BOOT_COMPLETED" />            </intent-filter>        </receiver>



2.增加监听开机完成权限

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

3.判断是否更换了sim卡

public class BootCompleteReceiver extends BroadcastReceiver {// 继承BroadcastReceiver 需要在清单文件中声明接收的信息private SharedPreferences sp;private TelephonyManager tm;@Overridepublic void onReceive(Context context, Intent intent) {// 1.拿到之前保存的sim卡串号sp = context.getSharedPreferences("config", context.MODE_PRIVATE);//由于没有更换sim卡 所以手动改变了上一次的sim信息 为了演示效果String last_sim = sp.getString("SIM", null) + "12123";// 2.拿到当前的sim卡串号tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);String real_sim = tm.getSimSerialNumber();if (last_sim.equals(real_sim)) {System.out.println("sim卡没有变更" + last_sim);} else {System.out.println("sim卡已经变更,请求锁定" + last_sim + "---------------" + real_sim);Toast.makeText(context, "sim卡变更,请求锁定" + last_sim + "---------------" + real_sim, 1).show();}}}


0 0