Android面试简集(Broadcast Receive)

一·什么是广播?广播可以做什么?
1.广播事件处理属于系统级的事件处理(一般事件处理是属于View级的事件处理)
2.一个应用可以在发生特定事件时发送Broadcast, 系统中任何应用只要注册了对应Receiver就会接收到此Broadcast
3.一个应用如果对某个广播感兴趣, 就可以注册对应的Receiver来接收广播
4.广播事件机制是应用程序(进程间)之间通信的一种手段

常见的系统广播
收到短信广播 : android.provider.Telephony.SMS_RECEIVED
开机完成广播 : Intent.ACTION_BOOT_COMPLETED
应用被卸载广播 : Intent.ACTION_PACKAGE_REMOVED
手机锁屏 : Intent.ACTION_SCREEN_OFF
手机屏幕解锁 : Intent.ACTION_SCREEN_ON
二·广播的分类
发送无序广播(一般广播)
context.sendBroadCast(Intent intent)


无序广播

发送有序广播
context.sendOrderedBroadcast(Intent intent)


有序广播

区别两种广播
区别

三·注册广播
1.广播接收器类都必须继承于BroadcastReceiver类
public class MyBroadcastReceiver extends BroadcastReceiver{
public void onReceive(Context context, Intent intent){
//处理广播
}
}
2.注册方式

方式一: 配置文件注册(静态注册)
priority指定当前receiver的优先级, 值是0-1000, 越大越好





方式二: 硬编码注册(动态注册)
MyBroadcastReceiver2 receiver2 = new MyBroadcastReceiver2();
IntentFilter filter = new IntentFilter(action);
registerReceiver(receiver2, filter);
3.区别


区别

常用到的API:
·Context
·sendBroadcast(Intent intent) : 发送一般广播
·sendOrderedBroadcast(Intent intent) : 发送有序广播
·registerReceiver(receiver, intentFilter) : 注册广播接收器
·unRegisterReceiver(receiver) : 解注册广播接收器

·BroadcastReceiver
·onReceive(Context context, Intent intent) : 接收到广播的回调
·abortBroadcast() : 中断广播的继续传播
·boolean isOrderedBroadcast() : 判断是否是有序广播
看到一个写的不错的关于广播接收器的文章
https://www.jianshu.com/p/ca3d87a4cdf3

你可能感兴趣的:(Android面试简集(Broadcast Receive))