1. 转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46994097

这里。向大家简介通过BroadcastReceiver来拦截短信的方法

1、创建短信广播接收者SmsRecevier

这个类是BroadcastReceiver的子类,详细的拦截操作在这个类中实现。我在这里仅仅是简单的介绍一下方法,把获取到的短信打印信息出来。

详细的业务逻辑就要大家自己去实现了。

详细代码例如以下:

  1. package com.lyz.receiver;
  2.  
  3. import android.content.BroadcastReceiver;
  4. import android.content.Context;
  5. import android.content.Intent;
  6. import android.telephony.SmsMessage;
  7. import android.util.Log;
  8.  
  9. /**
  10. * 短信广播接收者
  11. * @author liuyazhuang
  12. *
  13. */
  14. public class SmsRecevier extends BroadcastReceiver {
  15. private static final String TAG = "SmsRecevier";
  16. @Override
  17. public void onReceive(Context context, Intent intent) {
  18. Object[] pdus = (Object[]) intent.getExtras().get("pdus");
  19. for(Object pdu:pdus){
  20. SmsMessage smsMessage = SmsMessage.createFromPdu((byte[])pdu);
  21. String body = smsMessage.getDisplayMessageBody();
  22. Log.i(TAG, body);
  23. }
  24. }
  25. }

2、注冊授权信息

详细实现例如以下:

  1. <?
  2.  
  3. xml version="1.0" encoding="utf-8"?>
  4. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  5. package="com.lyz.sms"
  6. android:versionCode="1"
  7. android:versionName="1.0" >
  8.  
  9. <uses-sdk
  10. android:minSdkVersion="8"
  11. android:targetSdkVersion="18" />
  12. <uses-permission android:name="android.permission.RECEIVE_SMS"/>
  13. <application
  14. android:allowBackup="true"
  15. android:icon="@drawable/ic_launcher"
  16. android:label="@string/app_name"
  17. android:theme="@style/AppTheme" >
  18. <activity
  19. android:name="com.lyz.sms.MainActivity"
  20. android:label="@string/app_name" >
  21. <intent-filter>
  22. <action android:name="android.intent.action.MAIN" />
  23.  
  24. <category android:name="android.intent.category.LAUNCHER" />
  25. </intent-filter>
  26. </activity>
  27.  
  28. <!-- 配置广播拦截短信 -->
  29. <receiver android:name="com.lyz.receiver.SmsRecevier">
  30. <intent-filter android:priority="1000">
  31. <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
  32. </intent-filter>
  33. </receiver>
  34. </application>
  35.  
  36. </manifest>

大功告成。是不是和《Android之——拦截外拨电话》一样简单呢?

温馨提示:大家能够到http://download.csdn.net/detail/l1028386804/8921125拦截获取完整的代码演示样例

Android之——拦截短信的更多相关文章

  1. android131 360 05 手势触摸滑动,sim卡,开机启动的广播,手机联系人,SharedPreferences,拦截短信

    安卓手势触摸滑动: package com.itheima52.mobilesafe.activity; import android.app.Activity; import android.con ...

  2. Android安全问题 抢先拦截短信

    同上篇文章一样,这里只陈述结果,代码分析稍后给出 导读:本文叙述如何先于某些伪杀毒软件.病毒.常规软件获取到短信 众所周知,android系统在收到短信息的时候会发送广播,但是此广播是有序广播,也就是 ...

  3. Android 拦截短信

    public class SMSMess extends BroadcastReceiver { @Override public void onReceive(Context arg0, Inten ...

  4. 转载使用 ContentObsever 拦截短信,获取短信内容

    在一些应用上,比如手机银行,QQ,微信等,很多时候我们都需要通过发送验证码到手机上,然后把验证码填上去,然后才能成功地继续去做下面一步事情. 而如果每次我们都要离开当前界面,然后去查收短信,记住验证码 ...

  5. android自动获取短信验证码

    前言:android应用的自动化测试必然会涉及到注册登录功能,而许多的注册登录或修改密码功能常常需要输入短信验证码,因此有必要能够自动获得下发的短信验证码.主要就是实时获取短信信息.android上获 ...

  6. Android 趣味应用—— 短信编辑器

    修改短信数据库,从而生成任意手机号发送的短信. AndroidManifest.xml <?xml version="1.0" encoding="utf-8&qu ...

  7. android之发送短信程序

    首先改写activity_main.xml文件 代码如下: <LinearLayout xmlns:android="http://schemas.android.com/apk/re ...

  8. android自动填写短信验证码

    广播类 package com.examp.azuoyoutong.listner; import java.util.regex.Matcher;import java.util.regex.Pat ...

  9. Android通讯:短信

    Android通讯之短信功能实现: 使用android.telephony.SmsManager对象,可以发送短信和彩信.// 构造回调函数,短信发送结束后,会发出对应的Intent请求Intent ...

随机推荐

  1. 2019-03-18 Python time 将2015年11月20日转换为2015-11-20

    #ReportingDate = soup.select('body > div.main > div > div.ctr > div.recruit > ul > ...

  2. Java基础学习总结(55)——java8新特性:stream

    java作为开发语言中的元老已经度过了很多年,最新的java8为我们带来了一些新特性,这些特性可以在以后的工作中为我们的开发提供更多的便捷,现在就让我们看看最新的函数式编程风格怎么在实际的开发中使用. ...

  3. Winserver服务器-AD字段对照简图

    AD字段对照简图

  4. LA 6437 Power Plant (prim最小生成树)

    还是裸的最小生成树 #include<bits/stdc++.h> using namespace std; int T,N,M,P,K,a,b,c; int dist[1020],m[1 ...

  5. jqGrid冻结列

    jqgrid冻结列 冻结列:就是横向移动表格时,让某一列保持不动 做法: 1.colModel的行要加上属性: frozen:true.注意:冻结列必须从第一列开始,包括隐藏列 2.加载jqgrid后 ...

  6. Android setImageResource与setImageBitmap的区别

    同样的布局文件,小分辨率手机: 1.使用setImageBitmap设置时,出现如下现象: 2.使用setImageResource时,图片显示正常 原因:setImageResource(id)会根 ...

  7. 51nod1073-约瑟夫环,递归。

    N个人坐成一个圆环(编号为1 - N),从第1个人开始报数,数到K的人出列,后面的人重新从1开始报数.问最后剩下的人的编号. 例如:N = 3,K = 2.2号先出列,然后是1号,最后剩下的是3号. ...

  8. 读 Real-Time Rendering 收获 - chapter 4. transform

    chapter 4. Transform p54 affine transform p57 all rotation matrices have a determinant of one and ar ...

  9. PIC kit3问题

    1.通过pic kit3烧录pic16F1938的时候,pic kit3自动更新了firmware,但是仍然烧录不了pic16F1938,然后再次用pic kit3烧录pic18F45k80时,一直显 ...

  10. jq不懂的地方

    在循环列表中,获取input标签的值,不能用id获取,用class获取值,通过父级属性找到class,this 指当前点击的位置var UID = $(this).parents("tr&q ...