四大组件之BroadcastReceiver
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相关推荐
- Android四大组件之BroadCastReceiver
1. 基本概念 在Android 中,Broadcast 是一种广泛运用的在应用程序之间传输信息的机制.而BroadcastReceiver 是对发送出来的Broadcast 进行过滤接受并响应的一类 ...
- Android 四大组件之BroadcastReceiver
本来想自己写一篇的,不过看到一篇讲的很详细的,这里我就转载一下分享 BroadcastReceiver(广播接收器)是Android中的四大组件之一. 下面是Android Doc中关 ...
- 四大组件之BroadcastReceiver(一)-自定义“收音机”与发送“广播”
第1节 Broadcast Receiver概述 很多时候,我们希望一个应用程序在它没有运行起来的时候,也能感知系统状态的某些变化,如果条件合适,就让这个应用运行起来. 比如,一个拦截骚扰电话的应用, ...
- Android 四大组件丨BroadcastReceiver
BroadcastReceiver 有几种形式及特点 BroadcastReceiver 可分为无序广播和有序广播 无序广播:通过sendBroadcast()方式发送,接收器接收顺序随机.特点是效率 ...
- 四大组件之BroadcastReceiver(二)-使用权限和常用的系统广播
更新时间 修改意见 2016-08-02 陈敏 第4节 Broadcast的使用权限 为广播设置权限要考虑两方面的问题. 作为广播的发送者,希望限制广播的接收者,只让特定的应用组件接收到发出的广播: ...
- 安卓四大组件之—— BroadcastReceiver
初识广播 什么是广播? Broadcast直译广播,我们举个形象的例子来帮我理解下BroadcastReceiver,记得以前读书 的时候,每个班级都会有一个挂在墙上的大喇叭,用来广播一些通知,比如, ...
- Android四大组件之BroadcastReceiver详解
1. 广播机制工作原理 ? 1.1 首先在需要发送信息的地方,把要发送的信息和用于过滤的信息(如Action.Category)装入一个Intent对象 1.2 然后通过调用 Context.send ...
- Android基础——四大组件之BroadcastReceiver
按照顺序来,第二个是广播接收者BroadcastReceiver. BroadcastReceiver 1.Xmind 2. 注册方式 这些还是有必要具体讲一讲的 静态注册 AndroidManife ...
- Android之四大组件之一-BroadcastReceiver的使用(二)
一,广播接收器的静态注册 <!-- 静态注册 --> <receiver android:name=".FirstReceiver"> ...
最新文章
- JavaScript中几个重要的知识点(1) ---- 面向对象
- python openvc 裁剪、剪切图片 提取图片的行和列
- 使用json-server搭建模拟api接口
- Symmetric Pairs(连接、分组,聚合)
- 2019-10-12 拉普拉斯变换的理解
- QT实现自定义3D材质
- 1693: 选数(DFS)
- WPS演示中万花筒效果的实现
- VS2010开发如何在c#中使用Ctrl、Alt、Tab等全局组合快捷键
- Unknown encoder ‘libx264‘的解决方法
- 去哪里找与计算机相关的外文,找计算机相关的外文翻译
- Doxygen学习小记
- 集合框架及背后的数据结构、Collection,Map、ArrayList的使用
- 零基础学python-Python入门教程完整版(懂中文就能学会)
- flume java 安装部署_[Hadoop] Flume安装部署与简单使用
- Excel中的VLOOKUP函数之数据匹配
- 手机改直供电并自动开启adb无线调试修改电量
- CreatePipe、CreateProcess函数
- 国标GB28181协议国标平台EasyGBS客户端作为上级平台如何跟下级海康8700平台对接?
- Unable to find a single main class from the following candidates 。。。
热门文章
- html5怎么在index设置背景,index.html · huangliusong/HTML5Canvas知乎登录页面动态线条背景动画代码 - Gitee.com...
- JUnit5 Maven 依赖项
- setlength java_Java StringBuilder setLength()方法与示例
- 零基础学前端可行吗?要如何学习呢?
- pla算法 matlab,PAL算法原理及代码实现
- acl 允许同网段访问_ENSP模拟交换环境中调用高级ACL限制不同网段之间互访
- session很快失效_深夜,我偷听到程序员要对session下手……
- 与计算机技术发展密切相关的科学家,关于计算机科学与技术的发展趋势探究
- 计算机应用基础word教程,计算机应用基础-文字处理word教程PPT课件.ppt
- nvidia的jetson系列的方案_NVIDIA Jetson 平台