您的位置:首页 > 移动开发 > Android开发

Android攻城狮的第二门课(第3季)第5章 四大组件之BroadcastReceiver

2017-08-24 19:04 405 查看
本章讲解4大组件之一BroadcastReceiver的使用,广播的动态注册和静态注册,有序广播和无序广播的发送,怎样设置广播的优先级等等

BroadcastReceiver 广播接受器

是对发送出来的广播进行过滤接受并响应的一类组件,他就是用来接受

来自系统和应用中的广播。

Broadcast(广播) 是一种广泛运用在应用程序之间传输信息的机制。

用途:

开机时,广播通知

网络联机时,广播通知

电量低时,广播通知

应用开发者,值需要掌握BroadcastReceiver,而不是Broadcast(广播)

使用方法:

发送:

把信息装入一个Intent对象

通过调用相应的方法将Intent对象以广播方式发送出去

sendBroadcast()

sendorderBroadcast()

sendStickyBroadcast()

接受:

Intent发送后,已注册的BroadcastReceiver会检查注册的intentfilter

BroadcastReceiver生命周期10秒左右

BroadcastReceiver执行完立即销毁

广播的种类:

普通广播(Normal Broadcast)

所有监听该广播的广播接受者都可以监听该广播。

有序广播(Order Broadcast)

按照接收者的优先顺序接收广播 -1000-1000 值越大,级别越高。

异步广播(粘滞性滞留广播)

不能将处理结果串给下一个接受者,无法终止广播



静态注册

<receiver android:name=".BC1" >
<intent-filter>
<!--过滤
<intent-filter
android:priority="100">
-->
<action android:name="BC_One" />
</intent-filter>
</receiver>

<receiver android:name=".BC2" >
<!--
<intent-filter
android:priority="200">
动态注册高于静态注册
-->
<intent-filter>
<action android:name="BC_One" />
</intent-filter>
</receiver>


动态注册

//动态注册 BC2
IntentFilter intentfilter = new IntentFilter("BC_One");
BC2 bc2 =   new BC2();
registerReceiver(bc2, intentfilter);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: