四大组件——广播——初次认识

来源:互联网 发布:淘宝早晨跑名声不好 编辑:程序博客网 时间:2024/06/05 06:27

根据广播的发送方式,可以将其分为以下几种类型:
1.Normal Broadcast:普通广播:自己定义的intent,以context.sendBroadcast(),普通广播会被注册了的相应的感兴趣(intent-filter匹配)接收,且顺序是无序的。

2.System Broadcast: 系统广播 :Android系统中内置了多个系统广播,只要涉及到手机的基本操作,基本上都会发出相应的系统广播。且系统广播都是有序广播

3.Ordered broadcast:有序广播:有序广播的有序广播中的“有序”是针对广播接收者而言的,指的是发送出去的广播被BroadcastReceiver按照先后循序接收,发送方式以 context.sendOrderedBroadcast()发送广播,

4.Sticky Broadcast:粘性广播(在 android 5.0/api 21中deprecated,不再推荐使用,相应的还有粘性有序广播,同样已经(deprecated)。没使用过,也不推荐了。

广播的注册分为:静态广播和动态广播

1、广播的优先级是:动态的>静态的;并且静态广播的注册可以改变优先级:android:priority="1000";数值的大小:-1000-----1000;数值越大优先级越高。优先级高广播监听到后可以使用此方法阻止广播的继续传播,但是只使用于有序广播:abortBroadcast();可以阻止广播的继续发送.

2、静态广播的注册是在adnroidManifest.xml里面注册及你想要监听的事件,并且静态广播的监听不受当前应用程序界面的影响,即使销毁了当前界面,一样的可以继续监听:

监听系统的广播级的还要加上权限:

静态广播的代码里面要继承BroadcastReceiver:

 

3、动态广播:注册在代码里面注册,只不过它依耐于当前的界面,如果当前界面销毁,它也随着销毁,所以注册最好是在Activity的前置生命周期里面注册和销毁,下面上代码:

 

0 0
原创粉丝点击