2019独角兽企业重金招聘Python工程师标准>>>

public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//动态注册广播接受者,优先级高于静态注册IntentFilter intentFilter = new IntentFilter("BC_One");BC2 bc2 = new BC2();registerReceiver(bc2,intentFilter);}public void doClick(View v){switch (v.getId()){case R.id.button://普通广播Intent intent = new Intent();intent.putExtra("msg","这是一条普通广播");intent.setAction("BC_One");sendBroadcast(intent);break;case R.id.button2://有序广播Intent intent2 = new Intent();intent2.putExtra("msg","这是一条有序广播");intent2.setAction("BC_Two");sendOrderedBroadcast(intent2,null);break;case R.id.button3://异步广播 可以先发送再注册Intent intent3 = new Intent();intent3.putExtra("msg","这是一条异步广播");intent3.setAction("BC_Three");sendStickyBroadcast(intent3);IntentFilter intentFilter = new IntentFilter("BC_Three");BC3 bc = new BC3();registerReceiver(bc,intentFilter);break;default:break;}}
}//配置文件/** priority -- 优先级* 静态注册*/<receiver android:name=".BC1"><intent-filter android:priority="100"><action android:name="BC_One"/></intent-filter></receiver><!--<receiver android:name=".BC2">--><!--<intent-filter android:priority="200">--><!--<action android:name="BC_One"/>--><!--</intent-filter>--><!--</receiver>--><receiver android:name=".BC3"><intent-filter android:priority="200"><action android:name="BC_Two"/></intent-filter></receiver><receiver android:name=".BC4"><intent-filter android:priority="100"><action android:name="BC_Two"/></intent-filter></receiver>//普通广播接收
public class BC1 extends BroadcastReceiver{@Overridepublic void onReceive(Context context, Intent intent) {String s = intent.getStringExtra("msg");System.out.println("receive1收到的信息:"+s);}
}
public class BC2 extends BroadcastReceiver{@Overridepublic void onReceive(Context context, Intent intent) {String s = intent.getStringExtra("msg");System.out.println("receive2收到的信息:"+s);}
}//有序广播接收
public class BC3 extends BroadcastReceiver{@Overridepublic void onReceive(Context context, Intent intent) {String s = intent.getStringExtra("msg");System.out.println("receive3收到的信息:"+s);Bundle bundle = new Bundle();bundle.putString("test","拦截广播添加数据");setResultExtras(bundle);}
}
public class BC4 extends BroadcastReceiver{@Overridepublic void onReceive(Context context, Intent intent) {String s = intent.getStringExtra("msg");System.out.println("receive4收到的信息:"+s);Bundle bundle = getResultExtras(true);String s2 = bundle.getString("test");System.out.println("得到的处理结果是: "+s2);}
}//异步广播接收
public class BC5 extends BroadcastReceiver{@Overridepublic void onReceive(Context context, Intent intent) {System.out.println("收到异地广播");}
}

转载于:https://my.oschina.net/u/2346786/blog/819528

四大组件之BroadcastReceiver相关推荐

  1. Android四大组件之BroadCastReceiver

    1. 基本概念 在Android 中,Broadcast 是一种广泛运用的在应用程序之间传输信息的机制.而BroadcastReceiver 是对发送出来的Broadcast 进行过滤接受并响应的一类 ...

  2. Android 四大组件之BroadcastReceiver

    本来想自己写一篇的,不过看到一篇讲的很详细的,这里我就转载一下分享 BroadcastReceiver(广播接收器)是Android中的四大组件之一.         下面是Android Doc中关 ...

  3. 四大组件之BroadcastReceiver(一)-自定义“收音机”与发送“广播”

    第1节 Broadcast Receiver概述 很多时候,我们希望一个应用程序在它没有运行起来的时候,也能感知系统状态的某些变化,如果条件合适,就让这个应用运行起来. 比如,一个拦截骚扰电话的应用, ...

  4. Android 四大组件丨BroadcastReceiver

    BroadcastReceiver 有几种形式及特点 BroadcastReceiver 可分为无序广播和有序广播 无序广播:通过sendBroadcast()方式发送,接收器接收顺序随机.特点是效率 ...

  5. 四大组件之BroadcastReceiver(二)-使用权限和常用的系统广播

    更新时间 修改意见 2016-08-02 陈敏 第4节 Broadcast的使用权限 为广播设置权限要考虑两方面的问题. 作为广播的发送者,希望限制广播的接收者,只让特定的应用组件接收到发出的广播: ...

  6. 安卓四大组件之—— BroadcastReceiver

    初识广播 什么是广播? Broadcast直译广播,我们举个形象的例子来帮我理解下BroadcastReceiver,记得以前读书 的时候,每个班级都会有一个挂在墙上的大喇叭,用来广播一些通知,比如, ...

  7. Android四大组件之BroadcastReceiver详解

    1. 广播机制工作原理 ? 1.1 首先在需要发送信息的地方,把要发送的信息和用于过滤的信息(如Action.Category)装入一个Intent对象 1.2 然后通过调用 Context.send ...

  8. Android基础——四大组件之BroadcastReceiver

    按照顺序来,第二个是广播接收者BroadcastReceiver. BroadcastReceiver 1.Xmind 2. 注册方式 这些还是有必要具体讲一讲的 静态注册 AndroidManife ...

  9. Android之四大组件之一-BroadcastReceiver的使用(二)

    一,广播接收器的静态注册 <!-- 静态注册 -->         <receiver android:name=".FirstReceiver">   ...

最新文章

  1. JavaScript中几个重要的知识点(1) ---- 面向对象
  2. python openvc 裁剪、剪切图片 提取图片的行和列
  3. 使用json-server搭建模拟api接口
  4. Symmetric Pairs(连接、分组,聚合)
  5. 2019-10-12 拉普拉斯变换的理解
  6. QT实现自定义3D材质
  7. 1693: 选数(DFS)
  8. WPS演示中万花筒效果的实现
  9. VS2010开发如何在c#中使用Ctrl、Alt、Tab等全局组合快捷键
  10. Unknown encoder ‘libx264‘的解决方法
  11. 去哪里找与计算机相关的外文,找计算机相关的外文翻译
  12. Doxygen学习小记
  13. 集合框架及背后的数据结构、Collection,Map、ArrayList的使用
  14. 零基础学python-Python入门教程完整版(懂中文就能学会)
  15. flume java 安装部署_[Hadoop] Flume安装部署与简单使用
  16. Excel中的VLOOKUP函数之数据匹配
  17. 手机改直供电并自动开启adb无线调试修改电量
  18. CreatePipe、CreateProcess函数
  19. 国标GB28181协议国标平台EasyGBS客户端作为上级平台如何跟下级海康8700平台对接?
  20. Unable to find a single main class from the following candidates 。。。

热门文章

  1. html5怎么在index设置背景,index.html · huangliusong/HTML5Canvas知乎登录页面动态线条背景动画代码 - Gitee.com...
  2. JUnit5 Maven 依赖项
  3. setlength java_Java StringBuilder setLength()方法与示例
  4. 零基础学前端可行吗?要如何学习呢?
  5. pla算法 matlab,PAL算法原理及代码实现
  6. acl 允许同网段访问_ENSP模拟交换环境中调用高级ACL限制不同网段之间互访
  7. session很快失效_深夜,我偷听到程序员要对session下手……
  8. 与计算机技术发展密切相关的科学家,关于计算机科学与技术的发展趋势探究
  9. 计算机应用基础word教程,计算机应用基础-文字处理word教程PPT课件.ppt
  10. nvidia的jetson系列的方案_NVIDIA Jetson 平台