四大组件之BroadcastReceiver
2016-12-14 22:59
155 查看
四大组件之广播接收者(BroadcastReceiver)
概念
在Android 中,Broadcast 是一种广泛运用的在应用程序之间传输信息的机制。而BroadcastReceiver 是对发送出来的Broadcast 进行过滤接受并响应的一类组件, 是Android 四大组件之一。 广播接收者(BroadcastReceiver)用于接收广播的,广播的发送是通过调用sendBroadcast(Intent)/sendOrderedBroadcast(Intent)来实现的。通常一个广播 可以被多个广播接收者所接收。 广播被分为两种不同的类型:“普通广播(Normal Broadcasts)”也叫无序广播和“有序广播(OrderedBroadcasts)”。
广播接受者的含义:
广播:广而告之(全局性 在整个手机里面都能显示) 接收者:被动的去接受数据
常用的广播接受者
在广播接受者里面开启Activity需要加一个falg 因为广播接受者里面不存在上下文所以需要flag告知Activity运行在自己的任务栈里面
1. SD卡状态
2. 开机启动
3. 外拨电话
4. 应用程序安装和卸载
5. 短信的广播接收者
adnroid.provi
Android4.0后需要加一个权限
广播是Android 四大组件之一,因此需要在AndroidManifest.xml 中进行注册。同时监听用户的拨打电话行为也属于侵犯用户隐私的行为,因此需要添加权限
在一个意图里面可以配置多个action在广播中需要进行判断执行
即使应用程序的进程不存在,当广播事件到来的时候,广播接受者的进程就会自动启动,响应广播事件
高版本4.0以后的 可以强行停止来终止广播接收者
广播电台
有序广播广播消息是按照接收者声明的优先级别,被接收者依次接收广播,
需要在AndroidManifest.xml 中进行注册,优先级别声明在intent-filter 元素的android:priority 属性中,数越大优先级别越高,取值范围:-1000 到1000。
高优先级的可以拦截广播消息 .abortBroadcast()或者修改广播消息调用IntentFilter 对象的.setPriority()进行设置。
效率低
无序广播
没完全异步(就是不会被某个广播接收者终止)的,可以在同一时刻(逻辑上)被所有接收者接收到
效率高
特殊广播事件
在Android里面有一些产生非常频繁的广播事件,在清单文件里面配置是不会生效的,只能在代码中进行注册。如电量变化、锁屏和解锁的操作(一般用于视频、地图)
roadCastReceiver 的注册方式有两种:
1、静态注册(就是通过AndroidManifest.xml 注册)
2、动态注册(就是通过代码注册)。
在本文中前面使用到的BroadCastReceiver
全部都使用的是静态注册方式,其实也可以使用动态注册,但是对于锁屏解屏和电量变化的监听只能通过动态注册
法。
- 服务只会停止一次
相关文章推荐
- Android四大基本组件之一 ,广播(broadcast receiver)---无序广播
- Android 四大组件之“ BroadcastReceiver ”
- Android 四大组件系列之---BroadcastReceiver 详解
- 四大应用组件之BroadcastReceiver【Android】
- Android基础学习【历史流程重走】 ----四大组件之BroadCastReceiver
- 安卓四大组件之广播(BroadCastReceiver)
- Android四大组件之Broadcast(广播接收BroadcastReceiver)
- Android核心基础-9.Android四大组件之BroadcastReceiver
- android四大组件之BroadcastReceiver(一)
- android 四大组件之BroadCastReceiver
- 四大组件之BroadcastReceiver(广播)
- 四大组件之BroadcastReceiver(一)-自定义“收音机”与发送“广播”
- Android四大组件BroadcastReceiver 广播接收者
- Android 四大组件(Activity、Service、BroadCastReceiver、ContentProvider)
- Android的四大组件之一 BroadcastReceiver多种广播接收器的灵活使用
- android 四大组件 BroadcastReceiver使用
- Android学习-四大组件(BroadcastReceiver)
- Android四大组件之一:BroadCastReceiver(广播接收者)
- 四大组件之BroadcastReceiver 基础
- Android 技术专题Feature系列第一篇 四大组件之BroadcastReceiver