Android接收信息操作

//新建一个广播接收者   在清单文件中配置

  
        
            
                
            
        

//清单文件中的信息读取信息权限

    
    

//在广播里面读取短信内容

package com.li.wang.shoji.phonesafe.receiver;

import android.app.admin.DevicePolicyManager;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.media.MediaPlayer;
import android.telephony.SmsMessage;
import android.util.Log;

import com.li.wang.shoji.phonesafe.R;
import com.li.wang.shoji.phonesafe.utils.Constant;
import com.li.wang.shoji.phonesafe.utils.SPUtils;

import javax.crypto.spec.DESedeKeySpec;

public class SmsReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
     
        Object[] objs= (Object[]) intent.getExtras().get("pdus");//pdus短信的国际码
           //高级API操作
            DevicePolicyManager policyManager= (DevicePolicyManager) context.getSystemService(context.DEVICE_POLICY_SERVICE);
            //参数一是上下文
            //参数二是高级API的准字节码
            ComponentName componentName = new ComponentName(context,DESedeKeySpec.class);


        for (Object object:objs) {
            //每个数组转信息对象
            //将一个pdus转换成一个短信对象
            SmsMessage sms = SmsMessage.createFromPdu((byte[]) object);
            //得到短信内容   文本
            String smsBody=sms.getDisplayMessageBody();
                if (smsBody.equals("#*localhost*#")){
                    Log.v("jiangwangli","GSP追踪");
                }else if(smsBody.equals("#*alarm*#")){
                    //播放报警音乐
                    //Log.v("jiangwangli","播放报警音乐");
                    MediaPlayer player =MediaPlayer.create(context,R.raw.baojing);//R.raw.baojing音乐的路径
                    //左声道,右声道
                    player.setVolume(1.0f,1.0f);
                    player.start();
                    //屏蔽短信,不让小偷看到
                    abortBroadcast();
                }else if(smsBody.equals("#*wipedata*#")){
                    //Log.v("jiangwangli","远程删除数据");
                    boolean active=policyManager.isAdminActive(componentName);
                    if (active){
                        //清除Android手机里面的数据
                        policyManager.wipeData(DevicePolicyManager.WIPE_EXTERNAL_STORAGE);
                    }
                    //屏蔽短信,不让小偷看到
                    abortBroadcast();
                }else if(smsBody.equals("#*lockscreen*#")){
                    //远程锁屏
                    //Log.v("jiangwangli","远程锁屏");
                    //判断用户是否激活
                    boolean active=policyManager.isAdminActive(componentName);
                    if (active){
                        //表示激活
                        //说明激活了锁屏
                        policyManager.lockNow();
                        //清除Android手机里面的数据
                        //policyManager.wipeData(DevicePolicyManager.WIPE_EXTERNAL_STORAGE);
                        //清除内存
                        //policyManager.wipeData(DevicePolicyManager.WIPE_RESET_PROTECTION_DATA);
                        //设置密码   重置密码
//                        policyManager.resetPassword("123",0);
                    }
                    //屏蔽短信,不让小偷看到
                    abortBroadcast();
                }else if(smsBody.equals("liwangjiang")){
                    Log.v("jiangwangli","远程设置密码");
                    //设置密码
                    //设置密码   重置密码
                    policyManager.resetPassword("123",0);
                    //屏蔽短信,不让小偷看到
                    abortBroadcast();
                }
           

    }
}

你可能感兴趣的:(Android)