Android 开发中广播Broadcast 知识点
2016-04-20 13:57
357 查看
对于学习Android的小伙伴,应该都知道广播(Broadcast)是Android四大组件之一。
兼容性有问题:在酷派大神F2 型号:Coolpad 8675-FHD (有序广播完全失效)
广播类型有两种:
1、普通广播(Normal broadcast) 2、有序广播(Ordered broadcast)
它们之间优缺点:
1.1、普通广播(发送:Context.sendBroadcast())
优点:效率比较高,原因是它完全异步,执行的顺序是没有规则性的,在同一时刻(逻辑上)所有广播接收者接收到broadcast顺序是不确定的,这种方式在同一时刻消息传递的效率比较高
缺点:接收者不能将处理结果传递给下一个接收者,并且无法终止广播Intent的传播
2.1、有序广播(发送:Context.sendOrderedBroadcast())
优点:因为它是有序的,可以按照接收者的声明的优先级别进行有序传播
通过getResult系列方法来得到上个广播返回的结果
通过abort系列方法让系统终止该广播,使该广播不再继续传递到别的广播接收者(BroadcastReceiver)
有序广播使用过程:可以通过在intent-filter中设置android:priority属性来设置receiver的优先级(取值:-1000到1000),优先级相同的receiver其执行顺序不确定。如果BroadcastReceiver在代码中(通过调用IntentFilter对象的setPriority()进行设置)注册的话,且其intent-filter拥有相同android:priority属性的话,先注册的将先收到广播。有序广播,即从优先级别最高的广播接收器开始接收,接收完了如果没有丢弃,就下传给下一个次高优先级别的广播接收器进行处理,依次类推,直到最后。如果多个应用程序设置的优先级别相同,则谁先注册的广播,谁就可以优先接收到广播。
比如接收短信的广播是有序广播,因此可以设置你自己的广播接收器的级别高于系统原来的级别,就可以拦截短信,并且不存收件箱,也不会有来信提示音。
兼容性有问题:在酷派大神F2 型号:Coolpad 8675-FHD (有序广播完全失效)
广播类型有两种:
1、普通广播(Normal broadcast) 2、有序广播(Ordered broadcast)
它们之间优缺点:
1.1、普通广播(发送:Context.sendBroadcast())
优点:效率比较高,原因是它完全异步,执行的顺序是没有规则性的,在同一时刻(逻辑上)所有广播接收者接收到broadcast顺序是不确定的,这种方式在同一时刻消息传递的效率比较高
缺点:接收者不能将处理结果传递给下一个接收者,并且无法终止广播Intent的传播
2.1、有序广播(发送:Context.sendOrderedBroadcast())
优点:因为它是有序的,可以按照接收者的声明的优先级别进行有序传播
通过getResult系列方法来得到上个广播返回的结果
通过abort系列方法让系统终止该广播,使该广播不再继续传递到别的广播接收者(BroadcastReceiver)
有序广播使用过程:可以通过在intent-filter中设置android:priority属性来设置receiver的优先级(取值:-1000到1000),优先级相同的receiver其执行顺序不确定。如果BroadcastReceiver在代码中(通过调用IntentFilter对象的setPriority()进行设置)注册的话,且其intent-filter拥有相同android:priority属性的话,先注册的将先收到广播。有序广播,即从优先级别最高的广播接收器开始接收,接收完了如果没有丢弃,就下传给下一个次高优先级别的广播接收器进行处理,依次类推,直到最后。如果多个应用程序设置的优先级别相同,则谁先注册的广播,谁就可以优先接收到广播。
比如接收短信的广播是有序广播,因此可以设置你自己的广播接收器的级别高于系统原来的级别,就可以拦截短信,并且不存收件箱,也不会有来信提示音。
相关文章推荐
- Android触摸事件的传递顺序
- Android canvas绘制柱形统计图
- 关于androidstudio中SVN的两个按钮显示
- Android编程实用代码合集
- android自定义view-强大的点击灰色背景imageview
- Android内存分析命令
- Android毛玻璃效果侧滑菜单
- Android知识梳理之事件传递机制
- Android Studio之版本管理工具Git (图文教程)
- 基于UT4418编写自己的第一个Android程序 (五)
- Android SDK中tools详解
- Android 实现简易下载管理器 (暂停、断点续传、多线程下载)
- android设备信息
- Android edittext 禁止复制粘贴问题解决方案
- 在用Android studio进行单元测试时,getContext为null
- Android Resource介绍和使用
- 86、Android 通知栏Notification的整合 全面学习
- Android 使用ListView显示信息列表
- 你应该知道的那些Android小经验
- 85、android handler的警告Handler Class Should be Static or Leaks Occur