1.创建广播手机重启的广播,当手机重新启动时比较当前SIM卡的序列号和sp存储器中存储的SIM卡序列号是否一致
2.创建短信接收的广播,当手机接收到短信时判断短信内容时候是指令
3.权限配置: < uses-permission android:name= "android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name ="android.permission.RECEIVE_SMS"/>
----------------------------------------------------------------------------------------------
/**
* 手机重启时出发的广播事件
* @author Administrator
*
*/
public class BootCompleteReceiver extends BroadcastReceiver
{
SharedPreferences sp;
@Override
public void onReceive(Context
context, Intent intent) {
//判断防盗系统是否开启
boolean isprotecting= sp.getBoolean( "protecting", false);
if(isprotecting){
//获取当前SIM卡的序列号
TelephonyManager tm=(TelephonyManager) context.getSystemService(context.TELEPHONY_SERVICE );
String simSerialNumber = tm.getSimSerialNumber();
//获取sp 存储器中的Sim卡序列号
String number= sp.getString( "sim", "");
if(!simSerialNumber.equals(number)){ //发送警报短信给安全手机
String safeNumber= sp.getString( "safenumber", "");
smsManager. sendTextMessage(safeNumber, null, "你的好友yang的手机可能被盗" , null, null);
}
}
}
}
------------------------------------------------------------------------------
/**
* 接收到短信触发的广播事件
* @author Administrator
*
*/
public class SmsReceiver extends BroadcastReceiver
{
private static final String TAG = "SmsReceiver";
@Override
public void onReceive(Context
context, Intent intent) {
Object[] objs = (Object[]) intent.getExtras().get( "pdus"); //获取短信
for (Object
obj : objs) {
SmsMessage message = SmsMessage. createFromPdu((byte[])
obj);
String sender = message.getOriginatingAddress();
String body = message.getMessageBody();
if( "#*location*#".equals(body)){
Log. i(TAG, "获取位置手机位置.." );
} else if( "#*alarm*#".equals(body)){
Log. i(TAG, "播放警报铃声" );
MediaPlayer mediaPlayer = MediaPlayer.create(context,R.raw.ylzs);
mediaPlayer.setVolume(1.0f, 1.0f);
//player.setLooping(true); //一直都播放下去
mediaPlayer.start();
abortBroadcast();
} else if( "#*wipedata*#".equals(body)){
Log. i(TAG, "清除数据" );
} else if( "#*lockscreen*#".equals(body)){
Log. i(TAG, "远程锁屏" );
}
}
}
}