首先声明一个类,此类继承自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<myOBJpdus.length;i++){
        //使用Object数组当中的对象创建SmsMessage对象
        messages[i] = SmsMessage.createFromPdu((byte[])myOBJpdus[i]);
        Log.d("MyDebug", messages[i].getDisplayMessageBody());
      }

    }

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

    <receiver android:name=".SMSReceiver">
      <intent-filter >
        <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
      </intent-filter>
    </receiver>

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

    <uses-permission android:name="android.permission.RECEIVE_SMS"/>

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

    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);

BroadcastReceiver注册、使用及其权限的更多相关文章

  1. Android BroadcastReceiver 注册和反注册

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

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

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

  3. Eureka注册中心增加权限认证

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

  4. win7系统注册表的权限修改

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. Ajax的二次封装

    function handleAjax(url,_data,method) { return ajax(url,_data,method).then(function (res) { if(res){ ...

  2. 带额外toggle()功能的jquery库

    <html><head><meta http-equiv="Content-Type" content="text/html;charset ...

  3. 浅谈C#中常见的委托<Func,Action,Predicate>(转)

    一提到委托,浮现在我们脑海中的大概是听的最多的就是类似C++的函数指针吧,呵呵,至少我的第一个反应是这样的. 关于委托的定义和使用,已经有诸多的人讲解过,并且讲解细致入微,尤其是张子阳的那一篇.我就不 ...

  4. ADO.NET的弹性连接控制[ADO.NET idle connection resiliency]

    ADO.NET连接SQL Server有时候联机会无故的中断 (例如闲置过久或是交易时间太长等因素),这时又要重新连接,在.NET Framework 4.5之前,这件事情要由开发人员自己依照ADO. ...

  5. .Net开发笔记(二十)创建一个需要授权的第三方组件

    在使用需要授权的软件时,注册付费的目标是软件的使用者,我们开发人员平时用到的一些第三方组件也是需要授权付费的,也就是说,付费者是开发人员,并不是系统(使用了该第三方组件)的最终使用者. 以上两者的区别 ...

  6. Linux的tree命令

    发现Linux下有个很好的命令,tree,能把目录以树的形式列出来,还支持很强大的参数. 但默认情况下是不带的,得自己去安装,先到这里下载它的代码:http://mama.indstate.edu/u ...

  7. Orchard 微软CMS项目介绍

    我之前的项目中使用了Orchard, 它依据依赖注入的思想而做的模块化让我深深为之着迷,这里开始宣传一下这个架构. 包含的概念非常之多,我现在也不甚了解.Orchard就是自己想控制它改变它的话需要非 ...

  8. SecureCRT使用技巧

    原创文章转载请注明出处:@协思, http://zeeman.cnblogs.com   修改SecureCRT颜色配置 option->Global options –> Termina ...

  9. JS、JQuery和ExtJs的跨域处理

    1.什么是跨域?跨域,JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象.简单地理解就是因为JavaScript同源策略的限制,a.com 域名下的js无法操作b.com或是c.a. ...

  10. TODO:小程序的春天你想做什么

    TODO:小程序的春天你想做什么 微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验. 初步了解小程序的特点 导航明确,来去自如 统一稳定, 视觉规范 ...