2.11 更换SIM卡触发防盗系统(广播接收者触发)

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 smsManager = SmsManager.getDefault ()   //利用底层代码发送短信,短信内容不会出现在平台上
                  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 ,   "远程锁屏"   );
                        
                  }
                  
                  
            }
            
      }

}




 
 
 
 
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值