14.拦截短信

拦截短信,播放音乐(app系统的声音,也是这逻辑)

  1. /**
  2. * 拦截短信
  3. *
  4. * @author Kevin
  5. *
  6. */
  7. public class SmsReceiver extends BroadcastReceiver {
  8. @Override
  9. public void onReceive(Context context, Intent intent) {
  10. Object[] objects = (Object[]) intent.getExtras().get("pdus");
  11. for (Object object : objects) {// 短信最多140字节,
  12. // 超出的话,会分为多条短信发送,所以是一个数组,因为我们的短信指令很短,所以for循环只执行一次
  13. SmsMessage message = SmsMessage.createFromPdu((byte[]) object);
  14. String originatingAddress = message.getOriginatingAddress();// 短信来源号码
  15. String messageBody = message.getMessageBody();// 短信内容
  16. System.out.println(originatingAddress + ":" + messageBody);
  17. if ("#*alarm*#".equals(messageBody)) {
  18. // 播放报警音乐, 即使手机调为静音,也能播放音乐, 因为使用的是媒体声音的通道,和铃声无关。在res目录下新建raw目录用来存放声音文件
  19. MediaPlayer player = MediaPlayer.create(context, R.raw.ylzs);
  20. player.setVolume(1f, 1f);//左右声道
  21. player.setLooping(true);//是否循环
  22. player.start();
  23. abortBroadcast();// 中断短信的传递, 从而系统短信app就收不到内容了
  24. } else if ("#*location*#".equals(messageBody)) {
  25. // 获取经纬度坐标
  26. context.startService(new Intent(context, LocationService.class));// 开启定位服务
  27. SharedPreferences sp = context.getSharedPreferences("config",
  28. Context.MODE_PRIVATE);
  29. String location = sp.getString("location",
  30. "getting location...");
  31. System.out.println("location:" + location);
  32. abortBroadcast();// 中断短信的传递, 从而系统短信app就收不到内容了
  33. } else if ("#*wipedata*#".equals(messageBody)) {
  34. System.out.println("远程清除数据");
  35. abortBroadcast();
  36. } else if ("#*lockscreen*#".equals(messageBody)) {
  37. System.out.println("远程锁屏");
  38. abortBroadcast();
  39. }
  40. }
  41. }
  1. //可以写int的最大值2147483647
  2. <receiver android:name=".receiver.SmsReceiver" >
  3. <intent-filter android:priority="2147483647" >
  4. <action android:name="android.provider.Telephony.SMS_RECEIVED" />
  5. </intent-filter>
  6. </receiver>

来自为知笔记(Wiz)

时间: 2024-07-31 21:56:08

14.拦截短信的相关文章

手机卫士06_挂电话拦截短信,资产目录_来电去电_自定义吐司

1.1 反射调用系统隐藏api挂掉电话 Android 1.5之前可以通过 TelephonyManager,tm.endCall();//但是列表找不到 谷歌认为挂掉电话是危及手机根本功能的动作,所以隐藏了这个api 在1.5之后,要通过反射调用这一api才能实现 两个网站 ①www.greocide.com //搜索源码的网站 搜索TelephonyManager,查找版本最低的版本即可(越低越容易理解) 这个api被隐藏掉了,不能直接获取到TelephonyManager.对象. ②通过g

Android之——拦截短信

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46994097 这里,向大家简单介绍通过BroadcastReceiver来拦截短信的方法 1.创建短信广播接收者SmsRecevier 这个类是BroadcastReceiver的子类,具体的拦截操作在这个类中实现,我在这里只是简单的介绍一下方法,把获取到的短信信息打印出来.具体的业务逻辑就要大家自己去实现了. 具体代码如下: package com.lyz.receiver;

Android 拦截短信

public class SMSMess extends BroadcastReceiver { @Override public void onReceive(Context arg0, Intent arg1) { Bundle b=arg1.getExtras(); if (b!=null){ //从data对象里获取所有的短信,并把每一条短信转成Object对象 Object[] pud_sms = (Object[])b.get("pdus"); //准备一个SmsMessa

Android安全问题 抢先拦截短信

同上篇文章一样,这里只陈述结果,代码分析稍后给出 导读:本文叙述如何先于某些伪杀毒软件.病毒.常规软件获取到短信 众所周知,android系统在收到短信息的时候会发送广播,但是此广播是有序广播,也就是说:先接收到广播的人,如果心情不好,它就不会向后传递此广播,后面的人就不会知道有短信到来 这与无序广播不同,无序广播并不是真的没有顺序(只是似乎大家习惯这么叫而已),无序广播的接收者也是排队等待广播的,只不过是在传递过程中,大家必须遵守规则,一直把消息传递给最后一个人才可以 关于无序广播与静态接收器

vue,一路走来(14)--短信验证码框的实现(类似支付密码框)

由于项目的扩展,新增了很多功能,今天谈一下短信验证码框的实现. 思路:每个小方框其实就是单独的每一个input标签(叫假input标签),每个长度为1,然后上面再写一个大的input标签(叫真实input标签),提高层级定位在上方,最大长度为6,然后将上方真实input标签的值传给每一个单独的假input标签. <div class="phonenum-show"> <div class="getback-title">收回剩余礼金 <

短信拦截马黑产揭露 - 莫伸手,伸手必被抓

概述 从2013年5月至今,AVL移动安全团队持续监测到了一类高活跃高危害的短信拦截类型木马.短信拦截马,顾名思义是一种可以拦截他人短信木马,就是让被攻击者收不到短信,并将短信内容截取到攻击者手机上. 此类木马目前最常见的是通过钓鱼.诱骗.欺诈等方式诱导用户装上木马,然后通过拦截转发用户短信内容,以此获取各种用户重要的个人隐私信息,如用户姓名.身份证号码.银行卡账户.支付密码及各种登录账号和密码等,造成这些信息的泄露,再利用此信息从而达到窃取用户资金的目的,严重威胁用户的财产安全. 另外,此前流

短信拦截马黑产揭露

概述 从2013年5月至今,AVL移动安全团队持续监测到了一类高活跃高危害的短信拦截类型木马.短信拦截马,顾名思义是一种可以拦截他人短信木马,就是让被攻击者收不到短信,并将短信内容截取到攻击者手机上. 此类木马目前最常见的是通过钓鱼.诱骗.欺诈等方式诱导用户装上木马,然后通过拦截转发用户短信内容,以此获取各种用户重要的个人隐私信息,如用户姓名.身份证号码.银行卡账户.支付密码及各种登录账号和密码等,造成这些信息的泄露,再利用此信息从而达到窃取用户资金的目的,严重威胁用户的财产安全. 另外,此前流

[android] 手机卫士黑名单功能(短信拦截)

前面我们把需要拦截的手机号都存储和展示出来了,接下来是使用广播接收者拦截短信了,这个广播接收者需要和一个服务绑定,服务开启的时候,接收者存在,服务停掉时,接收者关闭 在service包下定义一个类CallSmsSafeService继承系统的Service 重写onCreate()方法 获取BroadcastReceiver对象,new出来 调用registerReceiver()方法,注册广播,参数:BroadcastReceiver对象,IntentFillter对象 重写onDestory

android短信拦截

广播分2种,无序广播和有序广播.可以理解为散列和队列广播.首先无序广播,不能中断,分发机制有点类似散列发送.这种广播的的发送为:context.sendBroadcast这种广播是不能中断的,请看API说明.其次为有序广播,可以中断.这种广播,以我的理解可能存在很大的BUG,短信这块广播的发送BUG现在被QQ和360利用,可能在以后的版本中会修订.它是一个按一种优先级顺序发送,即按某种messagequere队列发送,其中队列中的任何广播接收者都可以终端该广播,导致它之后的成员不能接收到广播.我