欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

浅析Android手机卫士接收短信指令执行相应操作

程序员文章站 2024-02-28 10:44:04
推荐阅读: 浅析android手机卫士sim卡绑定 深入浅析android手机卫士保存密码时进行md5加密 详解android 手机卫士设置向导页面 浅析andro...

推荐阅读:

浅析android手机卫士sim卡绑定

深入浅析android手机卫士保存密码时进行md5加密

详解android 手机卫士设置向导页面

浅析android手机卫士关闭自动更新

浅析android手机卫士自定义控件的属性

浅析android手机卫士读取联系人

通过广播接收者,接收到短信,对短信内容进行判断,如果为我们指定的值就执行相应的操作。

如果短信内容是”#*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手机卫士接收短信指令执行相应操作的相关知识,希望对大家以上帮助!