广播接收器
1.注册方式
动态注册:在程序中注册,如在Activity里的onCreate()方法中注册
静态注册:在AndroidManifest.xml中注册
2.可接收哪些广播
接收系统消息:如网络状态变化、系统完成启动、电量状态
接收应用消息:如短信来电通知
3.使用注意
不允许在onReceive方法中执行耗时操作,不允许启动新线程
一般用于启动其他组件,如Service, 状态栏通知
发送广播
1.广播类型
按接收方式:标准广播(默认)、有序广播
按广播范围:全局广播(默认)、本地广播
2.发送方式
在Activity中可直接用sendBroadcast(), sendOrderedBroadcast()方法
3.发送了什么
发送了一个Intent对象
onCreate(){
...
public void onClick(View v) {
Intent intent = new Intent("com.example.broadcasttest. MY_BROADCAST");
sendBroadcast(intent);
}
...
}
因此可以传送数据,可作为进程间公开通信的一种方式
4.标准广播
一对多,接收器同时接收
5.有序广播
接收器依照优先级顺序流水线式传递广播
可被中断(拦截)
在接收器onReceive()方法中使用abortBroadcast()停止传递
在AndroidManifest.xml中设置优先级
6.本地广播
使用LocalBroadcastManager(单例)的sendBroadcast()方法发送广播
使用LocalReceiver接收广播
本地广播只能动态注册
时间: 2024-10-22 01:23:23