基于BroadCast Receiver的一些思考
来源:互联网 发布:怀孕软件排行第一 编辑:程序博客网 时间:2024/05/14 05:28
1.BroadCast Receiver的作用?
用来接收系统的一些短暂的非耗时消息,从而进行的响应的动作;
2.BroadCast Receiver有几种?
常规消息:sendBroadCast();
对于消息接收者,其接收的顺序是不固定的,但由于接收时间间隙小,我们可以认为是同时接收。
排序消息:sendOrderedBroadCast();
其排序定义在<Intent-filter />中,通过属性android:priority来定义,数字越大,越先接收,一般系统定义的该属性都为负数。
3.如何定义BroadCast Receiver ?
继承BroadcastReceiver
/** * @author Lean * */public class MyBroadCastReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {if (intent.getAction().equals("org.lean.action.BroadCastMsg")) {Log.v("LeanLog", "onReceiver()");}}}注册AndroidManifest.xml
<receiver android:name=".MyBroadCastReceiver"> <intent-filter android:priority="2" > <action android:name="org.lean.action.BroadCastMsg"/> </intent-filter> </receiver>调用
private void sendBroadCast() {Intent intent=new Intent();intent.setAction("org.lean.action.BroadCastMsg");sendBroadcast(intent);//sendOrderedBroadcast(intent,null);}
发送消息如sendBroadcast是异步的,指把消息直接发送到MessageQueue中,再经由Looper取出并分发给相同action的<receiver />
而onReceive是在主线程中接收的,也就是说,在onReceive中操作时间应该不超过10s,避免ANR错误;
5.BroadcastReceiver如何进行拦截?
一般通过把android:priority属性的值提高。并在onReceive()中处理完后调用abortBroadcast();
6.BroadcastReceiver的生命周期:
在应用安装时,通过<Intent-filter />的HashMap进行注册。与ContentProvider不同的是,ContentProvider是在应用安装时通过URI注册的;
当调用系统的排序广播时,通过权限高低的顺序分发广播。
7.系统的广播如何调用:
通过Intent的Action属性查看4类组件的系统Action,并调用他们;
- 基于BroadCast Receiver的一些思考
- Android的Broadcast Receiver
- Broadcast Receiver 的使用
- Broadcast receiver 的使用
- 【安卓篇】Android的Broadcast Receiver
- Android的Broadcast Receiver组件
- broadcast receiver
- Broadcast Receiver
- Broadcast Receiver
- Broadcast Receiver
- Broadcast Receiver
- Broadcast Receiver
- Broadcast Receiver
- Broadcast Receiver
- Broadcast Receiver
- Broadcast Receiver
- Broadcast Receiver
- Broadcast Receiver
- Treap的读书笔记2
- Hibernate一对一外键双向关联(xml配置篇)
- 垂直下拉菜单
- android 画环形的资料
- ACM练习之《P1333Cantor表》
- 基于BroadCast Receiver的一些思考
- funct 抄自百度,仅为自己留痕
- 适配状态栏
- pOJ1276 Cash Machine(背包)
- HDU 1200
- vc实现纯真IP数据库显物理位置
- 4、ununtu14.04 NVIDIA显卡驱动
- JPush 服务器消息推送
- CodeForces 197A