Android -- 发送Broadcast、有序无序

普通广播                                                                                    

  • 优缺点:和有序广播的优缺点相反!
  • 发送广播的方法:sendBroadcast()

有序广播                                                                                  

  • 优缺点

优点:1,按优先级的不同,优先Receiver可对数据进行处理,并传给下一个Receiver

2,通过abortBroadcast可终止广播的传播  

缺点:效率低  

  • 发送广播的方法:sendOrderedBroadcast()
  • 优先接收到Broadcast的Receiver可通过setResultExtras(Bundle)方法将处理结果存入Broadcast中,下一个Receiver 通过 Bundle bundle=getResultExtras(true)方法获取上一个 Receiver传来的数据。

工程                                                                                          

imageMainActivity.java是程序住进口。

MyBroadcastReceiver.java等都是广播接收者,只是等级不一样。

FinalRecevier.java是有序广播的时候,即使广播被拦截了,这个还是可以接收到广播的。

 

 

 

 

 

<receiver android:name=".MyBroadcastReceiver"><intent-filter android:priority="1000"><action android:name="com.yydcdut.nima"/></intent-filter></receiver><receiver android:name=".MyBroadcastReceiver2"><intent-filter android:priority="100"><action android:name="com.yydcdut.nima"/></intent-filter></receiver><receiver android:name=".MyBroadcastReceiver3"><intent-filter android:priority="10"><action android:name="com.yydcdut.nima"/></intent-filter></receiver><receiver android:name=".FinalRecevier"><intent-filter><action android:name="com.yydcdut.nima"/></intent-filter></receiver>

在MyBroadcastReceiver.java中,代码都差不多:

public class MyBroadcastReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {System.out.println("MyBroadcastReceiver1111111接受到的广播");Toast.makeText(context, "MyBroadcastReceiver", Toast.LENGTH_SHORT).show();}}

在MainActivity.java中:

public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void click(View view){Intent intent = new Intent();intent.setAction("com.yydcdut.nima");//无序广播
        sendBroadcast(intent);//有序广播//sendOrderedBroadcast(intent, null);//sendOrderedBroadcast(intent, null, new FinalRecevier(), null, 0, null, null);
    }
}

在某个广播接收的类中加入

abortBroadcast();

这是去拦截广播,但是FinalRecevier还是接收到了的,无论怎么拦截广播。

我是天王盖地虎的分割线                                                                

源代码:http://pan.baidu.com/s/1dD1Qx01

广播发送.zip

 

 

 

转载请注明出处:http://www.cnblogs.com/yydcdut

转载于:https://www.cnblogs.com/yydcdut/p/3803666.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/407601.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sqlldr导入数据到数据库

1. 建立一张测试表T_Test create table T_TEST (ID INTEGER,UNAME VARCHAR2(50),AGE INTEGER ) 2. 建立数据文件infile.data(文本文件), 内容如下&#xff1a; 1,张明,20 2,zhou ming, 22 3, 王华good, 25 3. 建立控制文件: T_Test.ctl&#xff0c;文件内容如下&am…

javascript学习系列(7):数组中的concat方法

最好的种树是十年前,其次是现在。歌谣 每天一个前端小知识 提醒你改好好学习了 知乎博主 csdn博主 b站博主 放弃很容易但是坚持一定很酷 我是歌谣 喜欢就一键三连咯 你得点赞是对歌谣最大的鼓励 1前言 在我们的日常开发中 不免会有很多需要处理数据的方法 本节主要说一说c…

stylus之方法(Functions)

方法(Functions): 函数:Stylus强大之处就在于其内置的语言函数定义。定义与混入(mixins)一致却可以返回值 返回值: 很简单的例子&#xff0c;两数值相加的方法 我们可以在特定条件下使用该方法&#xff0c;如在属性值中 渲染 默认参数: 可选参数往往有个默认的给定…

[leetcode] Combinations

Given two integers n and k, return all possible combinations of k numbers out of 1 ... n. For example,If n 4 and k 2, a solution is: [[2,4],[3,4],[2,3],[1,2],[1,3],[1,4], ]https://oj.leetcode.com/problems/combinations/ 思路&#xff1a;递归&#xff0c;依次…

stylus之关键字参数(Keyword Arguments)

关键字参数(Keyword Arguments) 关键字参数&#xff1a; Stylus支持关键字参数&#xff0c;或”kwargs”. 允许你根据相关参数名引用参数 下面这些例子功能上都是一样的。但是&#xff0c;我们可以在列表中的任何地方放置关键字参数。其余不键入参数将适用于尚未得到满足的参…

javascript学习系列(8):数组中的splice方法

最好的种树是十年前,其次是现在。歌谣 每天一个前端小知识 提醒你改好好学习了 知乎博主 csdn博主 b站博主 放弃很容易但是坚持一定很酷 我是歌谣 喜欢就一键三连咯 你得点赞是对歌谣最大的鼓励 1前言 在我们的日常开发中 不免会有很多需要处理数据的方法 本节主要说一说s…

stylus之内置方法(Built-in Functions)

内置方法(Built-in Functions) red(color)&#xff1a;返回color中的红色比重 green(color)&#xff1a;返回color中的绿色比重 blue(color)&#xff1a;返回color中的蓝色比重 alpha(color)&#xff1a;返回color中的透明度比重 dark(color)&#xff1a;检查color是否是暗色 …

stylus之其余参数(Rest Params)

其余参数(Rest Params) 其余参数&#xff1a; Stylus支持name…形式的其余参数。这些参数可以消化传递给混写或函数的参数们。这在处理浏览器私有属性&#xff0c;如-moz或-webkit的时候很管用 下面这个例子中&#xff0c;所有的参数们(1px, 2px, …)都被一个args参数给简单…

stylus之注释(Comments)

注释(Comments) 注释 Stylus支持三种注释&#xff0c;单行注释&#xff0c;多行注释&#xff0c;以及多行缓冲注释 单行注释&#xff1a; 跟JavaScript一样&#xff0c;双斜杠&#xff0c;CSS中不输出 多行注释&#xff1a; 多行注释看起来有点像CSS的常规注释。然而&a…

吃的文化

主料&#xff1b;发好活海参1条&#xff0c;120克&#xff0c;辅料龙口粉丝10克&#xff0c;蟹黄2克 &#xff0c;五花肉丁10克 西兰花1朵土鸡蛋1个浓汤200克 &#xff0c;海参过水&#xff0c;五花肉煸锅加蚝油2克&#xff0c;金标老抽1克&#xff0c;加浓汤200克 盐味精各一克…

stylus之条件(Conditionals)

条件(Conditionals) 条件&#xff1a; 条件提供了语言的流控制&#xff0c;否则就是纯粹的静态语言。提供的条件有导入、混入、函数以及更多。下面的例子纯粹示例&#xff0c;并不是使用建议 if / else if / else 这没什么好说的&#xff0c;跟一般的语言一致&#xff0c;i…

Express中use挂载中间件的方法

1.app.use([path,], function [, function…]) 挂载中间件方法到路径上。如果路径未指定&#xff0c;那么默认为”/” 2.一个路由将匹配任何路径如果这个路径以这个路由设置路径后紧跟着”/”。比如&#xff1a;app.use(‘/apple’, …)将匹配”/apple”&#xff0c;”/apple/…

对Ubuntu20.04.2 mate 桌面 Brisk menu 组件的配置

Brisk Menu 让菜单在 mate 桌面上灵活布局&#xff0c; 那个会跳动的精灵还是挺不错的&#xff0c;适当处理后就得到了下面干净利索的桌面。 Ubuntu 安装时&#xff0c;在控制中心留有 plank reference 设置功能&#xff0c;让屏幕中底部的这些组件在不同位置摆放。当进行配置时…

【WCF--初入江湖】11 安全

11 安全 前言 【1】传输安全传输安全模式传输安全与绑定协议【2】身份验证身份验证分类证书示例&#xff1a;传输安全匿名客户端证书的使用1. 传输安全 保证信息在传输过程中的安全.传输安全是身份验证和授权的前提。传输安全模式&#xff1a; None&#xff1a;关闭了传输安全的…

express中res.json方法

res.json([body]) 发送一个json的响应 这个方法和将一个对象或者一个数组作为参数传递给res.send()方法的效果相同 你可以使用这个方法来转换其他的值到json&#xff0c;例如null&#xff0c;undefined。(虽然这些都是技术上无效的JSON)

带参数的URLconf

我们在Django建立helloworld自定义页面创建的页面&#xff0c;只能算是一个静态页&#xff0c;发起一个请求&#xff0c;返回一个固定的值&#xff0c;并不能满足我们动态的需求。今天我们创建一个带参数的URLconf&#xff0c;根据参数展示不同的内容。 另一个试图函数 打开vie…