Android接收读取短信内容
一.注册短信接收广播:
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接收读取短信内容相关推荐
- androidの读取短信内容
androidの读取短信内容 1. 读取短信内容,很简单,直接上代码 <span style="font-size:14px;"> public Uri SMS_INB ...
- Android 读取短信内容(模拟器)
读取短信内容 读取短信的内容就要知道短信放在哪里,然后通过查询语句把结果封装到实体类的List中,再全部打印出来即可. 下面是具体的代码: activity_main.xml <?xml ver ...
- Android中读取短信信息
Android中读取的短信文件有 /*** 所有的短信*/public static final String SMS_URI_ALL = "content://sms/";/** ...
- android app读取短信,uni-app读取短信
在我们的日常开发中,我们可能会遇到,读取用短信中的验证码,然后实现一个自动填充的功能. 但是呢,在插件市场,我暂时还没有找到相应的插件,来使用, 所以呢,我想到了一种曲线的方式,那就是获取到设备的短信 ...
- android读取短信内容简书,Android 获取App信息
首先,来个简单的,获取本应用的信息 : //获取 build.gradle 中的 versionName 和 versionCode try { PackageInfo info = getPacka ...
- 安卓开发系列 之如何获取手机短信内容
1 手机中短信数据库相关字段包括: _id:短信序号,如100 address:发件人地址,即手机号,如+8613811810000,这里需要注意的是手机号是否加+86,可以加上86和不加86分别测试 ...
- JavaScript 通过plus读取android手机短信内容
JavaScript 通过plus读取android手机短信内容. 1.获取android权限 在HBuilder工程中双击应用的"manifest.json"文件,切换到&quo ...
- Android——SMS接收发短信与运行权限
好久没写了,最近学习Android的相关知识,包括UI组件与布局.Activity生命周期等,而这次要讲的是,Broadcast Receiver的相关知识,主要是接收发短信,SmsManager.S ...
- Android 获取通话记录和短信内容
Android 获取通话记录和短信内容 一.获取通话记录 1.权限声明,需要在Manifest.xml文件中声明权限(读取通话记录权限): <uses-permission android:na ...
最新文章
- 产生所有排列---旋转法------2013年1月22日
- IT规划的企业应用实践(10)研究的范围和限制
- python 打包图标_Python打包成exe文件很难?一分钟即可学会,并添加图标!
- 01-MPLS产生的背景/以及和其他技术比较的优势
- Android视图组成View
- Maven 搭建spring boot多模块项目(附源码)
- oracle轮询方式循环输出,LGWR的两种模式(POST/WAIT和POLLING)
- Node.js之HTPP URL
- 实践丨SpringBoot整合Mybatis-Plus项目存在Mapper时报错
- JNDI学习总结(2)——JNDI数据源的配置
- Retrofit源码解析之请求流程概述
- 安装包制作工具 SetupFactory使用 详解
- retrofit应用详解与源码解析--源码解析
- arcgis海岸带_需科学划定海岸带基准地理边界
- Android性能优化学习记录(二)稳定性与内存优化
- 案例征集 | 2021中国数据资产管理工具市场研究报告
- cyclic behavior during switching
- 谷歌身份验证器 java demo实现 及使用中问题分析
- 如来分形 大圣败北 ——如来会分形的取证调查
- 工会优秀工作者先进事迹材料【加精推荐】 - 蒋炳楠的博客