一.注册短信接收广播:

public static final String SMS_BORADCAST = "android.provider.Telephony.SMS_RECEIVED";
private void registerBoradcast() {IntentFilter intentFilter = new IntentFilter();intentFilter.addAction(SMS_BORADCAST);registerReceiver(broadcastReceiver, intentFilter);
}

二.添加短信接收的权限

<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
//动态申请权限
if (ContextCompat.checkSelfPermission(MainActivity.this,Manifest.permission.READ_SMS) != PackageManager.PERMISSION_GRANTED ||ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.RECEIVE_SMS)!= PackageManager.PERMISSION_GRANTED) {Log.d(TAG, "动态申请权限 ");ActivityCompat.requestPermissions(MainActivity.this,new String[]{Manifest.permission.READ_SMS, Manifest.permission.RECEIVE_SMS},1);
}

三.接收广播并读取短信内容

private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {StringBuilder strb = new StringBuilder();@Overridepublic void onReceive(Context context, Intent intent) {if (intent.getAction().equals(SMS_BORADCAST)) {Log.d(TAG, "接收到广播= " + intent.getAction());Bundle bundle = intent.getExtras();Object[] pdus = (Object[]) bundle.get("pdus");SmsMessage[] msgs = new SmsMessage[pdus.length];for (int i = 0; i < pdus.length; i++) {msgs[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);}for (SmsMessage msg : msgs) {strb.append("发信人:\n");strb.append(msg.getDisplayOriginatingAddress());strb.append("\n信息内容\n");strb.append(msg.getDisplayMessageBody());}
//                Toast.makeText(context, strb.toString(), Toast.LENGTH_LONG).show();Log.d(TAG, "接收到短信= " + strb.toString());if (strb.toString().contains("hello world")) {new AlertDialog.Builder(MainActivity.this).setTitle("通知").setMessage("收到短信,正在进行....的操作").setPositiveButton("确定", null).show()}}}};

四.注意

如果app添加了系统权限,则短信广播收不到.

Android接收读取短信内容相关推荐

  1. androidの读取短信内容

    androidの读取短信内容 1. 读取短信内容,很简单,直接上代码 <span style="font-size:14px;"> public Uri SMS_INB ...

  2. Android 读取短信内容(模拟器)

    读取短信内容 读取短信的内容就要知道短信放在哪里,然后通过查询语句把结果封装到实体类的List中,再全部打印出来即可. 下面是具体的代码: activity_main.xml <?xml ver ...

  3. Android中读取短信信息

    Android中读取的短信文件有 /*** 所有的短信*/public static final String SMS_URI_ALL = "content://sms/";/** ...

  4. android app读取短信,uni-app读取短信

    在我们的日常开发中,我们可能会遇到,读取用短信中的验证码,然后实现一个自动填充的功能. 但是呢,在插件市场,我暂时还没有找到相应的插件,来使用, 所以呢,我想到了一种曲线的方式,那就是获取到设备的短信 ...

  5. android读取短信内容简书,Android 获取App信息

    首先,来个简单的,获取本应用的信息 : //获取 build.gradle 中的 versionName 和 versionCode try { PackageInfo info = getPacka ...

  6. 安卓开发系列 之如何获取手机短信内容

    1 手机中短信数据库相关字段包括: _id:短信序号,如100 address:发件人地址,即手机号,如+8613811810000,这里需要注意的是手机号是否加+86,可以加上86和不加86分别测试 ...

  7. JavaScript 通过plus读取android手机短信内容

    JavaScript 通过plus读取android手机短信内容. 1.获取android权限 在HBuilder工程中双击应用的"manifest.json"文件,切换到&quo ...

  8. Android——SMS接收发短信与运行权限

    好久没写了,最近学习Android的相关知识,包括UI组件与布局.Activity生命周期等,而这次要讲的是,Broadcast Receiver的相关知识,主要是接收发短信,SmsManager.S ...

  9. Android 获取通话记录和短信内容

    Android 获取通话记录和短信内容 一.获取通话记录 1.权限声明,需要在Manifest.xml文件中声明权限(读取通话记录权限): <uses-permission android:na ...

最新文章

  1. 产生所有排列---旋转法------2013年1月22日
  2. IT规划的企业应用实践(10)研究的范围和限制
  3. python 打包图标_Python打包成exe文件很难?一分钟即可学会,并添加图标!
  4. 01-MPLS产生的背景/以及和其他技术比较的优势
  5. Android视图组成View
  6. Maven 搭建spring boot多模块项目(附源码)
  7. oracle轮询方式循环输出,LGWR的两种模式(POST/WAIT和POLLING)
  8. Node.js之HTPP URL
  9. 实践丨SpringBoot整合Mybatis-Plus项目存在Mapper时报错
  10. JNDI学习总结(2)——JNDI数据源的配置
  11. Retrofit源码解析之请求流程概述
  12. 安装包制作工具 SetupFactory使用 详解
  13. retrofit应用详解与源码解析--源码解析
  14. arcgis海岸带_需科学划定海岸带基准地理边界
  15. Android性能优化学习记录(二)稳定性与内存优化
  16. 案例征集 | 2021中国数据资产管理工具市场研究报告
  17. cyclic behavior during switching
  18. 谷歌身份验证器 java demo实现 及使用中问题分析
  19. 如来分形 大圣败北 ——如来会分形的取证调查
  20. 工会优秀工作者先进事迹材料【加精推荐】 - 蒋炳楠的博客

热门文章

  1. uniapp实现音视频通讯
  2. 数据仓库工程师面试题
  3. 麻将番型计算(二人麻将)
  4. Error: This attribute must be localized. 解决方法
  5. Arduino开发(二)_基于Arduino UNO开发板的RGB灯光控制方法
  6. Tableau豆瓣电影项目实战作业 Day1
  7. 10本 Linux PDF 书籍免费分享
  8. Mysql 给字符串类型字段 加索引方法
  9. ply文件 java_ply之解析java文件,找出包名、类名、依赖类
  10. 测试高考体育成绩的软件,高考体育成绩查询