[android] 手机卫士接收短信指令执行相应操作
2023-02-18 15:47:07 时间
通过广播接收者,接收到短信,对短信内容进行判断,如果为我们指定的值就执行相应的操作
如果短信内容是”#*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; } } } } }
相关文章
- java制作验证码(java验证码小程序)
- 解决第三方邮箱APP登陆QQ、163邮箱无法验证账户名或密码的问题(IOS、MacOS、Windows、Android)
- Mac电脑运行ios应用PlayCover
- 苹果发布 iOS 16 公开测试版,一起来看看这几项新功能
- 解决 Flutter 引起的 iOS 内存崩溃问题
- iOS 16 中的 Live Text 的更新
- iOS16 中的 3 种新字体宽度样式
- 在 iOS 16 中用 SwiftUI Charts 创建一个折线图
- 在 iOS16 中用 SwiftUI 图表定制一个线图
- Android平台GB28181设备接入端如何支持跨网段语音对讲?
- 基于flask和bootstrap-table的通用数据查询
- 爬虫方案 | 爬取大众点评网评论的几个思路(从小程序端)
- 【黄啊码】如何用小程序实现世界杯参赛队伍投票
- 《Android App开发进阶与项目实战》资源下载和内容勘误
- 微信小程序使用阿里巴巴的矢量图标iconfont
- 微信小程序 点击显示隐藏 极简Tab标签 点击添加class样式
- 微信小程序 wx:if 与 hidden区别
- 微信小程序 CSS border-radius元素 overflow:hidden失效问题 iPhone ios 苹果兼容问题
- 微信小程序 自定义 tabBar案例 官方案例迁入无效解决方法 非 tab 页显示 tabBar的问题解决 自定义tabBar与原生tabBar以及自写伪tabbar的区别
- IOS APPStore 上传更新应用版本 软件