广播
- 意义:Android中:系统运行过程中,会产生很多事件,比如:电量改变、收发短信、拨打电话、屏幕解锁、开机启动等,系统会发送广播。只要应用程序接收到这条广播,就知道发生了相应的事件,从而执行相应的代码。使用广播接收者,BroadCastReceiver,就可以收听广播。
创建广播接收者
- 清单配置文件中必须注册,并且配置intent-filter,且action子节点名必须匹配相应的广播名。例如,打电话广播
<action android:name="android.intent.NEW_OUTGOING_CALL" />
- 即使广播接收者被关闭,当系统发出的action跟该广播接收者的action匹配时,系统将会启动该广播接收者所在的进程,并且把广播发送给该广播接收者。
- 若是被系统自动关闭,广播接收者所在进程会自动启动。
- 若是被用户手动关闭,广播接收者所在进程不会自动启动,进入冻结状态,直至下次重启该进程。
短息防火墙
- 系统发送广播时,如果短信过长,短信广播中就会包含多条短息
- 4.0后,如果广播所在进程如果从来没有启动过,广播就不会生效。
广播分类
无序广播
有序广播
按优先级的大小-1000~1000排序。例如:拨打电话是发送有序广播, BroadcastReceiver resultReceiver肯定是最终的打电话界面。