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

来源:互联网 发布:mac 复制到移动硬盘 编辑:程序博客网 时间:2024/05/22 17:31

本章讲解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);
阅读全文
0 0
原创粉丝点击