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

推荐阅读:

浅析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手机卫士接收短信指令执行相应操作的相关知识,希望对大家以上帮助!

(0)

相关推荐

  • Android开发中实现发送短信的小程序示例

    上图为代码结构图. 现在我们看下具体的代码. Send.java package cn.com.sms.send; import java.util.ArrayList; import java.util.Iterator; import android.app.Activity; import android.app.PendingIntent; import android.content.Intent; import android.os.Bundle; import android.te

  • Android开发之电话拨号器和短信发送器实现方法

    本文实例讲述了Android开发之电话拨号器和短信发送器实现方法.分享给大家供大家参考,具体如下: 电话拨号器 实现原理:用户输入电话号码,当点击拨打的时候,由监听对象捕获,监听对象通过文本控件获取到用户输入的电话号码,由于系统已经实现了电话拨号功能,所以我们只需要调用这个功能就可以了. 步骤: 1.界面布局 2.编写Activity 3.使用意图过滤器激活电话拨号功能 4.添加电话服务权限(用手机的电话服务,要在清单文件AndroidManifest.xml中添加电话服务权限) 如图所示这三个

  • Android手机号注册、绑定手机号获取短信验证码实例

    本文写了一个常见的功能--手机app中注册或绑定手机号的获取验证码的功能,也就是短信验证功能 具体效果就是,你在注册界面填写手机号,点击获取验证码按钮,---然后会收到验证短信,填入验证码后点击注册按钮,如果验证正确就可以跳转到另外一个界面 1.首先大家需要在mob官网注册一个账号,mob是一个免费的短信验证平台 2.在mob.com后台创建应用 3.下载对应的sdk 4.将sdk作为一个library导入到你的项目中 5.现在就可以在你的项目中编写代码使用mob提供的这个功能了 具体代码如下:

  • Android中实现基本的短信拦截功能的代码示例

    要点 1.在Manifest.xml里加"接收"SMS的权限 <uses-permission Android:name="android.permission.RECEIVE_SMS"></uses-permission> 2.在Manifest.xml里注册一个receive <!-- 注册Receiver,并且设置优先级 --> <receiver android:name=".AutoSMS" a

  • 实例详解Android 获取短信会话列表

    Android中的短信并没有正式的content provider可用,在官方文档中没有提供定义.不过依然可以自己定义好URI,然后查询出短信内容.例如conetent://sms则是所有短信所在的path. 要将短信按会话分类,原先我是查询出所有短信后,然后再按照thread_id分类.系统自带的短信程序包含一个会话显示界面,每个条目包含:联系人.短信数量.第一条短信等内容.当我的程序处理的短信较多时,一次查询出所有的短信就变得很慢.(如果再加上为每个会话查询联系人信息,则会更慢) 看了系统短

  • Android创建简单发送和接收短信应用

    本文实例为大家分享了Android创建发送和接收短信应用的简单实现过程,供大家参考,具体内容如下 一.接收短信 项目的结构如下:一个简单的接收和发送短信的功能 1.定义一个接收短信的广播:当手机接收到一条短信的时候,系统会发出一条值为android.provider.Telephony.SMS_RECEIVED 的广播,这条广播里携带着与短信相关的所有数据. // 接收短信的广播 class MessageReceiver extends BroadcastReceiver { @Overrid

  • Android获取和读取短信验证码的实现方法

    现如今,验证码在Android的客户端还是非常普遍的.通过手机账号和验证码直接去注册应用账户的信息.很多应用都以这种方式来完成注册.简单的介绍一下吧. Android获取短信验证码还是比较简单的,通过Mob官网提供的ShareSDK,调用其中内部的方法,就可以获取到短信的验证码了.提供一下Mob的官网地址.http://www.mob.com/#/在官网上注册相关的信息之后,下载相关的jar包和.so文件就可以实现获取短信验证码了(2.0之前的版本都需要下载jar包和 .so文件,而现在的2.2

  • Android实现支持进度条显示的短信备份工具类

    使用内容提供者读取短信内容,写入XML文件,进度条ProgressDialog更新备份进度. 新知识点:子线程如何在在不使用Handler的情况下更新UI /** * 进行短信备份的工具类,支持进度条显示 * @author lian * */ public class SmsBackupUtils { private static class Data{ int progress; } /** * * @param context * 调用此工具类的Activity * @param pd *

  • Android编程之短信列表的时间显示实例分析

    本文实例讲述了Android编程之短信列表的时间显示.分享给大家供大家参考,具体如下: Android的短信的时间的显示做的很精细,首先保存在短信数据库mmssms.db中的短信时间都是Long型的数字,查询动作结束,取到这个值之后,会做转换,具体转换的动作在MessageUtils.java的formatTimeStampString函数中完成: public static String formatTimeStampString(Context context, long when) { r

  • 浅析Android手机卫士之手机实现短信指令获取位置

    推荐阅读: 浅析Android手机卫士sim卡绑定 深入浅析Android手机卫士保存密码时进行md5加密 详解Android 手机卫士设置向导页面 浅析Android手机卫士关闭自动更新 浅析Android手机卫士自定义控件的属性 浅析Android手机卫士读取联系人 浅析Android手机卫士接收短信指令执行相应操作 浅析Android手机卫士手机定位的原理 获取位置 新建一个service的包 新建一个GPSService类继承系统的Service类 清单文件中注册一下 重写onCreat

  • Android接收和发送短信处理

    关于短信接收处理方面,当前已经有一些app做的比较好了,比如发给手机发验证码验证的问题,很多app在手机接收到验证码后,不需要输入,就直接可以跳过验证界面,这就是用到了对接收到的短信的处理.至于短信的发送,也没什么好说的了.在此也只是附上一个小实例. 效果图: MainActivity: import android.app.Activity; import android.app.PendingIntent; import android.content.BroadcastReceiver;

  • Android发送短信方法实例详解

    本文实例讲述了Android发送短信方法.分享给大家供大家参考,具体如下: 短信和打电话一样,都是android手机的基本功能,下面以实例说明android如何实现发送短信的功能. 程序如下所示: import java.util.regex.Matcher; import java.util.regex.Pattern; import android.app.Activity; import android.app.PendingIntent; import android.content.I

  • android短信拦截的实现代码

    短信拦截的实现主要是使用了广播接收者来实现. BroadcastReceiver  广播接收者   必须指定要接收的广播类型.必须明确的指定action 广播:事件.普通广播: 是异步的.会广播接收者同时接收,不能被中断sendBroadcast()有序广播: 是同步的.会根据广播接收的优先级进行接收,是可以中断   短信到来广播 sendOrderBroadcast()priority的范围是:-1000 ~ 1000如果有序广播明确的指定了广播接收者,他是无法被中断的. 代码实现如下: 1.

随机推荐