关闭

开机检查是否更换sim卡

362人阅读 评论(0) 收藏 举报

-------------------监听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;

	@Override
	public 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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:14179次
    • 积分:389
    • 等级:
    • 排名:千里之外
    • 原创:25篇
    • 转载:4篇
    • 译文:0篇
    • 评论:9条
    文章分类
    最新评论