[Android]通过广播读取短信
来源:互联网 发布:nginx 1.8.0 漏洞 编辑:程序博客网 时间:2024/05/22 04:59
此实例实现功能为通过接收广播读取短信
实现很简单,但使用到了广播接受者,以免遗忘在此记录:
代码
- AndriodMainfest文件
申明权限
<uses-permission android:name="android.permission.RECEIVE_SMS" > </uses-permission>
配置广播
<receiver android:name="activity.SMSBroadcastReceiver"> <intent-filter android:priority="999"> <action android:name="android.provider.Telephony.SMS_RECEIVED" /> </intent-filter> </receiver>
- BroadcastReceiver文件
import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.telephony.SmsMessage;public class SMSBroadcastReceiver extends BroadcastReceiver{ //指定动作的名称 public static final String ACTION = "android.provider.Telephony.SMS_RECEIVED"; @Override public void onReceive(Context context, Intent intent) { if (ACTION.equals(intent.getAction())) { //根据接收到的意图对象获取短信 SmsMessage[] msgs = getMessageFromIntent(intent); //提取短信内容 StringBuilder sBuilder = new StringBuilder(); if (msgs != null && msgs.length > 0 ) { for (SmsMessage msg : msgs) { sBuilder.append("接收到了短信:\n发件人是:"); sBuilder.append(msg.getDisplayOriginatingAddress()); sBuilder.append("\n------短信内容-------\n"); sBuilder.append(msg.getDisplayMessageBody()); } } System.out.println(sBuilder.toString()); } } //从意图获取短信对象的具体方法 public static SmsMessage[] getMessageFromIntent(Intent intent) { SmsMessage retmeMessage[] = null; Bundle bundle = intent.getExtras(); Object pdus[] = (Object[]) bundle.get("pdus"); retmeMessage = new SmsMessage[pdus.length]; for (int i = 0; i < pdus.length; i++) { byte[] bytedata = (byte[]) pdus[i]; retmeMessage[i] = SmsMessage.createFromPdu(bytedata); } return retmeMessage; }}
0 0
- [Android]通过广播读取短信
- Android通过广播接收短信
- Android中通过广播接收者收发短信
- 广播读取短信
- android-BroadcastReceiver 通过终止广播 阻止用户收到短信
- Android 通过广播接受者监听用户的短信
- 利用广播读取即时短信
- android短信与广播
- Android开发中通过广播接受短信并提取短信内容
- android中的短信sqlite库中,通过命令读取
- Android广播和短信广播详解
- Android-广播接收者;短信监听
- android短信和广播机制
- Android短信广播监听调研
- Android利用广播拦截短信
- android--广播及短信拦截
- android 短信,电话监听广播
- 38.android广播-短信防火墙
- 指纹识别
- mysql datatime处理
- HDU 1856 More is better(并查集)
- 基本线程编程(多线程编程笔记)
- python第一篇
- [Android]通过广播读取短信
- 配置文件出现BOM头(文件编码改变)引发的问题
- 润乾报表数据集中参数和宏的使用方法
- nginx log_format详解
- Ubuntu14.04安装CUDA8.0报错could not insert 'nvidia_367_uvm':Invalid argument
- Redis 使用spring-data-redis的序列化问题
- .net框架
- 干货:分析学中常用的3种分析方法!
- IEnumerable与IEnumerator区别