监听手机开机广播校验SIM卡
1 创建一个BroadcastReceiver广播接收者。
2 清单文件注册该广播,添加使用权限许可。并添加开机启动的意图过滤器。
3 在广播里实现代码。
---------------------------------------------------------
1 创建一个BroadcastReceiver广播接收者。
public class BootCompletedReceiver extends BroadcastReceiver {
2 清单文件注册该广播,添加使用权限许可。并添加开机启动的意图过滤器。
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
3 在广播里实现代码。
package com.itheima.mobilesafe.receiver;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.widget.Toast;
/**
* 开机启动完成广播
* @author Administrator
*
*/
public class BootCompletedReceiver extends BroadcastReceiver {
private static final String TAG = "BootCompletedReceiver";
private SharedPreferences sp;
private TelephonyManager tm;
@Override
public void onReceive(Context context, Intent intent) {
sp =context.getSharedPreferences("config", Context.MODE_PRIVATE);
tm =(TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
// 1.获取之前保存的SIM卡
String saveSim = sp.getString("sim", null)+"hrz";
//2.获取系统当前的SIM卡
String realSim = tm.getSimSerialNumber();
//3.校验SIM是否变更
if(realSim.equals(saveSim)){
//SIM没有变更
}else{
//SIM已经变更
Log.i(TAG, "SIM已经变更");
Toast.makeText(context, "SIM已经变更", Toast.LENGTH_LONG).show();
}
}
}