BroadcastReceiver 有序广播
来源:互联网 发布:js获取屏幕高度 编辑:程序博客网 时间:2024/06/01 20:01
BroadcastReceive是一种全局监听器,实现BroadcastReceive需要BroadcastReceive的onReceive()方法。
实现过BroadcastReceive之后,是注册监听器,有两种方式
1.代码注册
IntentFilter intent=new IntentFilter("XXX ");
BroadcastReceive1 cast1=new BroadcastReceive1();
registerReceiver(cast1,intent);
2.xml注册
<receiver android:name="MyReceive2">
<intent-filter android:priority="0">
<action android:name="com.example.action.ORDERBROADCAST" />
</intent-filter>
</receiver>
不要在BroadcastReceive中写一些耗时的操作,如果onReceive()方法在10秒未完成则会抛错ANR
如果非要写耗时操作,可以在BroadcastReceive中让intent打开一个service来完成,不考虑使用新线程去完成这个耗时的操作,因为BroadcastReceive本身生命周期很短,BroadcastReceive所在进程结束了,可是那个新线程没结束就可能在内存紧张时,系统把那没人要的新线程给杀死。
广播分为两类:普通广播 有序广播
对于有序广播,activity自从开启广播,该广播会按照优先级一个个传下去,如果被高优先级的方法给终止了,比它优先级低的将都收不到该广播了,activity可以将自己的需要传递的数据通过intent给传给各个广播监听者,而广播监听者BroadcastReceive则可以将需要传递的数据放到Bundle中去,通过setResultExtras(Bundle),然后后续的较低级广播监听者们通过getResultExtras(true)得到数据Bundle();
==注意的是:Activity只能通过intent,不能通过Bundle 。而BroadcastReceive只能通过Bundle 不同通过intent 来传递数据,否则得到的数据为nul。
- BroadcastReceiver 有序广播
- BroadcastReceiver 之有序广播
- BroadcastReceiver-有序广播
- BroadcastReceiver(有序广播)
- android-BroadcastReceiver有序广播
- BroadcastReceiver(有序广播篇)
- BroadcastReceiver(有序广播篇)
- android-BroadcastReceiver 发送有序广播
- android-BroadcastReceiver 发送有序广播
- android-BroadcastReceiver 发送有序广播
- android-BroadcastReceiver 发送有序广播
- android-BroadcastReceiver 发送有序广播
- 初学Android,BroadcastReceiver之有序广播(七十一)
- BroadcastReceiver学习(02)之有序广播
- BroadcastReceiver学习(02)之有序广播
- 发送有序广播——BroadcastReceiver
- Android BroadcastReceiver之自定义无序、有序广播
- BroadcastReceiver普通广播、有序广播、拦截广播、本地广播、Sticky广播、系统广播
- CMake入门指南
- poj 2508 Conic distance 计算几何
- 添加元素 下标操作
- js控制图片的缩放代码示例
- leetcode_题解_min stack
- BroadcastReceiver 有序广播
- Oracle 行列转换(存储过程)-mark
- Objective-C Runtime 运行时之一:类与对象
- ADT不会自动编译R文件,需要手动clean
- Webservice 调用方式整理
- java操作email发送邮件
- 对指定的PCAP包分析后,按照IP和PORT进行拆分PCAP
- windows下查看端口占用并结束进程
- html-图片按钮,抓包---Shinepans