教你如何做个坏人----指令广播骚扰
2015-09-07 23:36
176 查看
大家好,今晚我给大家带来一个非常有趣的案例。巧用系统广播,你只需发一条指令到安装你软件的手机里,手机立马响起歌曲,并且截断了短信,被骚扰者完成不知道是谁搞得恶作剧,手法高明,无事发痕迹,平时无聊之际,可可逗逗好友,提高逼格,增加存在感,这是一款娱乐性极强的小软件。
相信大家对这个demo开发非常感兴趣了吧,其实不难,你知道如何调用系统广播,然后根据广播做事,就Ok啦。
//创建一个广播对象,继承BroadcastReceiver类
public class SmsReceiver extends BroadcastReceiver {
//接受广播,intent在这里包括短信内容
public void onReceive(Context context, Intent intent) {
//pdus国际标准单元数据,一条短信大概有70多汉字
Object[] object = (Object[]) intent.getExtras().get("pdus");
//对目标数据进行遍历
for (Object obj : object) {
//短信字符节数组
byte[] pdu = (byte[]) obj;
//通过字符节生成短信
SmsMessage smsMessage = SmsMessage.createFromPdu(pdu);
//获取发短信的电话号码
String num = smsMessage.getOriginatingAddress();
//获取短信的内容
String content = smsMessage.getMessageBody();
//判断指令,如果指令短信内容为#*alarm*#,开始播放音乐
if ("#*alarm*#".equals(content)) {
//创建音乐播放器对象
MediaPlayer mediaPlayer = MediaPlayer.create(context,
R.raw.leave);
//播放音乐
mediaPlayer.start();
//截断短信
abortBroadcast();
}
}
}
}
别以为在这就完事了,还有最重要的操作就是在Androidmanifest.xml注册广播。不然效果实现不了
//注册系统短信广播
<receiver
android:name="com.example.demo0819_sqlite.receiver.SmsReceiver"
>
//接受短信广播的接收器
//短信广播,是一个有序广播:有优先级,优先级高的先收到,且可以截断广播事件
//优先级范围:1000到-1000
//priority优先级等于1000,最高
<intent-filter android:priority="1000" >
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
通过以上操作,我们就可以恶搞亲朋好友了,希望你们能达到一些些开心咯。那就这样咯,晚安。
相信大家对这个demo开发非常感兴趣了吧,其实不难,你知道如何调用系统广播,然后根据广播做事,就Ok啦。
//创建一个广播对象,继承BroadcastReceiver类
public class SmsReceiver extends BroadcastReceiver {
//接受广播,intent在这里包括短信内容
public void onReceive(Context context, Intent intent) {
//pdus国际标准单元数据,一条短信大概有70多汉字
Object[] object = (Object[]) intent.getExtras().get("pdus");
//对目标数据进行遍历
for (Object obj : object) {
//短信字符节数组
byte[] pdu = (byte[]) obj;
//通过字符节生成短信
SmsMessage smsMessage = SmsMessage.createFromPdu(pdu);
//获取发短信的电话号码
String num = smsMessage.getOriginatingAddress();
//获取短信的内容
String content = smsMessage.getMessageBody();
//判断指令,如果指令短信内容为#*alarm*#,开始播放音乐
if ("#*alarm*#".equals(content)) {
//创建音乐播放器对象
MediaPlayer mediaPlayer = MediaPlayer.create(context,
R.raw.leave);
//播放音乐
mediaPlayer.start();
//截断短信
abortBroadcast();
}
}
}
}
别以为在这就完事了,还有最重要的操作就是在Androidmanifest.xml注册广播。不然效果实现不了
//注册系统短信广播
<receiver
android:name="com.example.demo0819_sqlite.receiver.SmsReceiver"
>
//接受短信广播的接收器
//短信广播,是一个有序广播:有优先级,优先级高的先收到,且可以截断广播事件
//优先级范围:1000到-1000
//priority优先级等于1000,最高
<intent-filter android:priority="1000" >
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
通过以上操作,我们就可以恶搞亲朋好友了,希望你们能达到一些些开心咯。那就这样咯,晚安。
相关文章推荐
- Linux文件系统上的特殊权限
- uva 548 tree
- 遍历Map的四种方法
- 学习Qt5(4)
- SVN 使用
- gridcontrol无数据自定义显示及滚动至底部翻页
- (转)内存对齐问题
- JAVA基础之复用类
- 学习资源分享,想了解某个协议的基础知识可以去H3C的网站学习,挺好~~
- 腾讯2015研发笔试大题
- eclipse为Android应用程序APK生成的私钥文件在哪里?
- 带我家小子学编程 02
- 内核linux-3.4.2支持dm9000
- Linux系统磁盘管理及文件系统管理中各类命令使用
- 常见开源产品epoll网络事件模型分析(附200万QPS实现长连接echo server方案)
- redis实现有序的消息队列
- [android developer学习笔记]Android mk
- js数组使用JSON.stringify()和toString()的区别
- 使用Swift去掉字符串中的空格
- 两个有序数组求解下中位数