[android] 手机卫士接收短信指令执行相应操作详解手机开发
2023-06-13 09:20:13 时间
通过广播接收者,接收到短信,对短信内容进行判断,如果为我们指定的值就执行相应的操作
如果短信内容是”#*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; }
5424.html
app程序应用开发手机开发无线开发移动端开发相关文章
- 加密狗android,Android系统加密狗的设计与实现
- android 常用加密,分享一下Android各种类型的加密
- android签名命令行,Android系统签名位置及命令
- strictmode android,Android中的StrictMode
- delphixe5 android,Delphi XE5 Android手机端转换Ansi字符串
- android ListView实现圆角(两种解决方案)
- android vlc 中文字幕,解决Android版vlc中文乱码问题
- android开发连接手机usb调试模式,安卓手机usb调试在哪里 安卓手机usb调试模式设置教程…[通俗易懂]
- eclipse中android开发_Android开发教程
- android进程间通信的方式_Android进程注入
- 浅谈 Android 的安全启动和完整性保护
- 【Android 异步操作】AsyncTask 异步任务 ( FutureTask 模拟 AsyncTask 执行过程 | AsyncTask 执行过程回顾 | FutureTask 分析 )
- 【ijkplayer】编译 Android 版本的 ijkplayer ⑥ ( 进入 ijkplayer-android/android 目录 | 执行 compile-ijk.sh 脚本完成编译 )
- 【错误记录】在 Android Studio 的 Terminal 终端执行 gradlew 报错 ( 无法将“gradlew”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称 )
- [android] 采用服务执行长期后台的操作详解手机开发
- android Universal Image Loader for Android 说明文档 (1)详解手机开发
- android内存优化详解手机开发
- Android 中静默安装实现详解编程语言
- 谷歌宣布推出Android 12刨冰首个开发预览版 新版提供部分安全功能
- 如何在 Android 上借助 Wine 来运行 Windows Apps
- android中Bitmap的放大和缩小实例代码
- Android用ListView显示SDCard文件列表的小例子
- Android轻松实现图片倒影效果实例代码