浅析Android手机卫士接收短信指令执行相应操作
程序员文章站
2024-03-01 08:31:34
推荐阅读:
浅析android手机卫士sim卡绑定
深入浅析android手机卫士保存密码时进行md5加密
详解android 手机卫士设置向导页面
浅析andro...
推荐阅读:
通过广播接收者,接收到短信,对短信内容进行判断,如果为我们指定的值就执行相应的操作。
如果短信内容是”#*location*#” 就执行,获取手机位置
如果短信内容是”#*alarm*#” 就执行,播放报警音乐
如果短信内容是”#*wipedata*#” 就执行,远程清除数据
如果短信内容是”#*lockscrreen*#” 就执行,远程锁屏
把短信的优先级定义成1000
使用模拟器发送短息的时候,会自动给发送号码拼接上155xxxx等,判断时候会不准确,使用string对象的contains()方法判断是否包含我们保存的安全号码
在res目录下创建raw文件夹,把音乐文件放进去
调用mediaplayer.create()方法,得到mediaplayer对象,参数:上下文,资源文件
注意资源文件r所在的包,不要导成系统下的
调用mediaplayer对象的start()方法
此时播放的警报静音都不管用,因为目标手机如果正在听音乐调的是多媒体是管用的,否则不管用
smsreceiver.java
package com.qingguow.mobilesafe.receiver; import com.qingguow.mobilesafe.r; import android.content.broadcastreceiver; import android.content.context; import android.content.intent; import android.content.sharedpreferences; import android.media.mediaplayer; import android.telephony.smsmessage; import android.widget.toast; public class smsreceiver extends broadcastreceiver { private sharedpreferences sp; @override public void onreceive(context context, intent intent) { sp=context.getsharedpreferences("config", context.mode_private); //获取短信内容 object[] objs=(object[]) intent.getextras().get("pdus"); for(object obj:objs){ smsmessage sms=smsmessage.createfrompdu((byte[])obj); string body=sms.getmessagebody(); string sender=sms.getoriginatingaddress(); string secsender=sp.getstring("secphone", ""); //判断是安全号码的短信 if(secsender.equals(sender)){ switch (body) { case "#*alarm*#"://发送报警音乐 //toast.maketext(context, "播放报警音乐", 1).show(); mediaplayer mp=mediaplayer.create(context, r.raw.alarm); mp.start(); abortbroadcast(); break; default: break; } } } } }
以上所述是小编给大家介绍的android手机卫士接收短信指令执行相应操作的相关知识,希望对大家以上帮助!