第五章-广播
一、广播机制简介
1、标准广播
在广播发出之后,所有的接收器在同一时刻接收消息,无法截断
2、有序广播
广播发出之后,在同一时刻只有一个接收器收到消息,优先级高的广播接收器先收到消息,前面的广播可以截断后面的广播
二、接收系统广播
广播接收器可以对自己感兴趣的广播进行注册,注册分为动态注册(在代码中注册)和静态注册(在Manifest.xml中注册)
创建广播接收器:新建类,继承BroadcastReceiver并重写父类的onReceive()方法,当有广播来的时候onreceive就会得到执行
动态注册的广播接收器一定要取消注册才行,在onDestory中调用unregisterReceiver()方法取消
需要权限的需要在manifest.xml文件中声明<user-permission android:name="XXXXXX">
三、发送自定义广播
1、标准广播
Intent intent = new intent("com.example.broadcast.mybroadcast");
sendBroadcast(intent) 由于广播实在intent中发送的,因此可以在广播中携带一些数据
2、发送有序广播
sendOrderedBroadcast(intent,null);
设定优先级
<intent-filter android:priority="100">
中断广播继续传播
abortBroadcast();
四、本地广播
全部广播的安全性有问题,例如其他程序可能向我们的广播接收器发送垃圾广播,我们的广播携带的私密数据可能被截取等 。
使用本地广播机制发出的广播只能在应用程序内部进行传播。
使用LocalBroadcastManager 对广播进行管理
Intent intent = new Intent("localhost");
localBroadcastManager.sendBroadcast(intent);

浙公网安备 33010602011771号