首先声明一个类,此类继承自BroadcastReceiver类,处理Android当中发出的广播事件:

public class SMSReceiver extends BroadcastReceiver{

@Override

public void onReceive(Context context, Intent intent) {

// TODO Auto-generated method stub

Log.d("MyDebug", "SendMessage");

//接收Intent对象当中的数据,获得发送短信的内容

Bundle bundle = intent.getExtras();

//在Bundle对象当中有一个属性名为pdus,这个属性的值是一个Object数组

Object[] myOBJpdus = (Object[])bundle.get("pdus");

//创建一个SmsMessage类型的数组

SmsMessage[] messages = new SmsMessage[myOBJpdus.length];

for(int i =0;i

//使用Object数组当中的对象创建SmsMessage对象

messages[i] = SmsMessage.createFromPdu((byte[])myOBJpdus[i]);

Log.d("MyDebug", messages[i].getDisplayMessageBody());

}

}

在AndroidManifest.xml文件中静态定义SMSReceiver类接收Android的接收到短信广播事件:

要想触发短信接收广播事件,应在AndroidManifest.xml中首先声明响应的权限:

在代码中定义接收到短信广播事件处理:

private static final String SMS_ACTION = "android.provider.Telephony.SMS_RECEIVED";

SMSReceiver smsReceiver = new SMSReceiver(); //生成一个BroadCastReceiver对象

//生成一个IntentFilter对象

IntentFilter filter = new IntentFilter();

filter.addAction(SMS_ACTION);

OtherActivity.this.registerReceiver(smsReceiver, filter);

在代码中解除对事件的接收到短信广播的绑定:

OtherActivity.this.unregisterReceiver(smsReceiver);

Android BroadcastReceiver 注册和反注册

说起来这个问题很简单,只要注册和反注册成对出现就行,好像很多教材都是如此介绍.但实际开发中,对广播注册和反注册的时机把握还是很重要的. 关于广BroadcastReceiver注册和反注册时机,主要有 ...

【Spring Cloud笔记】Eureka注册中心增加权限认证

在Spring Cloud通过Eureka实现服务注册与发现时,默认提供web管理界面,但是如果在生产环境暴露出来,会存在安全问题.为了解决这个问题,我们可以通过添加权限认证进行控制,具体步骤如下: ...

Eureka注册中心增加权限认证

在Spring Cloud通过Eureka实现服务注册与发现时,默认提供web管理界面,但是如果在生产环境暴露出来,会存在安全问题.为了解决这个问题,我们可以通过添加权限认证进行控制,具体步骤如下: ...

win7系统注册表的权限修改

重装win7系统后,安装软件时提示注册表项拒绝访问 解决方法: 输入“Gpedit.msc”后回车,打开“组策略”.然后,依次展开“用户配置→管理模板→系统”,双击右侧窗口中的“阻止访问注册表编辑工具 ...

通过 rundll32 创建设置注册表项权限

[Version]SIGNATURE="$Windows NT$" [DefaultInstall]AddReg=test.reg [test.reg]HKLM,"SOF ...

[2017-08-21]Abp系列——如何使用Abp插件机制(注册权限、菜单、路由)

本系列目录:Abp介绍和经验分享-目录 Abp的模块系统支持插件机制,可以在指定目录中放置模块程序集,然后应用程序启动时会搜索该目录,加载其中所有程序集中的模块. 如何使用这套机制进行功能插件化开发? ...

BroadcastReceiver的使用,动态注册和注销,优先级和中断控制

BroadcastReceiver: BroadcastReceiver(广播接收器)是Android中的四大组件之一,用来通知某些事件的相关信息,如下载完成,设置改变等. 默认的BroadcastR ...

Windows删除/修改注册表权限不足的解决方法

在注册表的某些关键项(譬如:System.Root),连Administrator都没有权限进行修改,因为只有“system”有权限. [警告]切勿企图进行注册表上层权限覆盖低层权限的方式来使Admi ...

Django——13 Auth系统 登陆注册实例 权限的实现

Django Auth系统中的表 注册登陆实例 权限的实现 登陆权限 操作权限 组操作  Auth系统中的表 从表的名称我们就能看出,auth_user,auth_group,auth_permiss ...

随机推荐

Node基础篇(文件操作)

文件操作 相关模块 Node内核提供了很多与文件操作相关的模块,每个模块都提供了一些最基本的操作API,在NPM中也有社区提供的功能包 fs: 基础的文件操作 API path: 提供和路径相关的操作 ...

马克飞象 Markdown 使用和学习

第三方学习网站 http://sspai.com/25137https://maxiang.io/ 使用工具:有道云笔记 https://note.youdao.com/ 新建时使用Mardown类型 ...

java简单的二分法排序

二分法排序的思路:数据元素要按顺序排列,对于给定值 x,从序列的中间位置开始比较,如果当前位置值等于 x,则查找成功:若 x 小于当前位置值,则在数列的前半段中查找:若 x 大于当前位置值则在数列的后 ...

关于tomcat不支持put方式的解决方式

在jetty中是支持put方式操作的,在tomcat中默认是不支持的,解决方式很简单,在web.xml中添加一个过滤器即可. htt ...

ButterKnife使用小结

项目官网:http://jakewharton.github.io/butterknife/ Github主页:https://github.com/JakeWharton/butterknife 这 ...

jquery中html、text、val回调函数

先扫盲: 摘自菜鸟教程:jQuery 方法:text().html() 以及 val()拥有回调函数. 回调函数有两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值.然后以函数新值返回您希望使 ...

JS中[object object]怎么取值

错误信息:本来是要显示JSON对象的  结果控制台打印了[object object] 需要做一个简单的转换,如下: var jsonData = JSON.stringify(data);// 转成 ...

Nginx设置防止IP及非配置域名访问

#设置IP或其它域名访问时返回500或304 server{ listen default; server_name _; ##标示空主机头 return ; } #设置IP或其它域名访问时重定向到w ...

attention 介绍

前言 这里学习的注意力模型是我在研究image caption过程中的出来的经验总结,其实这个注意力模型理解起来并不难,但是国内的博文写的都很不详细或说很不明确,我在看了 attention-mech ...

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐