第五章:全局大喇叭-详解广播机制
Android 系统四大组件之一的广播。
广播分类
广播分为两类:
- 标准广播
- 有序广播(基于优先级有序)
广播是会进行链式传递的,在链的中间环节可以终止传播。
广播注册方式分类
广播注册方式有两大类:
- 动态注册(即在程序中代码动态注册的,这种注册方式只有应用启动时才会生效)
- 静态注册(这种注册方式较为强大,程序未启动也会生效)
本地广播
前面所说的广播均属于全局广播,即实现了跨应用通信。但是这也会产生一些不安全因素,所以还有一种广播属于本地广播,广播的发射者和接收者均在同一个应用中才会生效。
注意点
接收某些系统广播(比如开机启动完成广播、网络状态变化广播等)是需要应用设置相应的权限的。如何设置?就是在 AndroidManifest.xml 文件中声明权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
源码
源码见:https://github.com/optor666/first-line-code-of-android/tree/master/chapter05