相信有不少人和我一样曾经尝试过在同一个项目中的两个activity进行广播,发现怎么都实现不了。我也是困惑了好久才发现,这么搞本来就是不行的。首先在同一个项目下不同的activity之间广播没有意义,因为就像是在同一个app的不同界面进行传递,你在当前的界面给没有创建的界面或者挂起在后台的界面发广播有什么用,你在当前的界面也看不到没有创建的界面或者挂起在后台的界面接收广播后的结果啊。最常见的还是接收系统变化的广播比如没电了之类的,或者是其他的app的广播。而且就实现而言也是很难实现的,你在mainactivity中sendbroadcast,然后startactivity拉起另一个活动,然后finish了mainactivity,在拉起的活动中注册接收器。实际运行时发现另一个活动拉起后,根本就没有接收到发出的自定义的广播(可以在运行日志中看到),原因是广播接收器注册在oncreate或者onpause方法中,广播的发出的过程是 : 调用sendBroadCast方法将intent发送后,该intent会被发送到System.process进程。该进程会对收到的intent进行检查,查看该intent中携带的action值是否与已注册的所有广播中的action值相同。若有相同的action字段则会建立映射表。并将该intent转发给所对应的广播接收器。这实质上就是说,广播的发送一下就结束了,不是夺命连环call,在mainactivity拉起活动之后,活动在实现oncreate方法时广播就结束了,所以广播接收器没有任何的反应。总之,大家就不要搞同一个项目下的activity之间的广播了。

Android中在不同activity中进行自定义广播的解析的更多相关文章

  1. Android开发常见的Activity中内存泄漏及解决办法

    上一篇文章楼主提到由Context引发的内存泄漏,在这一篇文章里,我们来谈谈Android开发中常见的Activity内存泄漏及解决办法.本文将会以“为什么”“怎么解决”的方式来介绍这几种内存泄漏. ...

  2. android 自定义控件View在Activity中使用findByViewId得到结果为null

    转载:http://blog.csdn.net/xiabing082/article/details/48781489 1.  大家常常自定义view,,然后在xml 中添加该view 组件..如果在 ...

  3. android开发之在activity中控制另一个activity的UI更新

    转自:http://blog.csdn.net/jason0539/article/details/18075293 第一种方法: 遇到一个问题,需要在一个activity中控制另一个acitivit ...

  4. Android 中menu在activity中的使用

    1.在res下选择new  选择Android resource directory 2.在弹出框中Resource type选择menu 3.在res下就可以看到menu文件夹 4.在menu文件夹 ...

  5. android小技巧:在activity中实现与绑定的fragment的回调

    看到标题你可能会想是一个多么高大上的技巧呢?事实上非常一般就是自己定义回调函数. 首先我们知道activity之间的数据传递有几种方式: 一是startActivityForResut()启动一个ac ...

  6. android 在基类activity中注册BroadcastReceiver,子activity类实现响应

    android app 一般都会定义自己的BaseActivity, 如果各子Activity都需要接收广播但对广播的处理又不同时,可以考虑在BaseActivity中注册BroadcastRecei ...

  7. Android ViewPager+Fragment 在Activity中获取Fragment的控件

    如果ViewPager+Fragment实现Tab切换,在activity中利用adapter.getItem获取到fragment然后再根据fragment.的方法获取控件 //隐藏求租,以下代码用 ...

  8. Android学习笔记(十四)——自定义广播

    //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 我们除了可以通过广播接收器来接收系统广播, 还可以在应用程序中发送自定义的广播.下面我们来分别试一试发送自定义 ...

  9. Android学习总结(六)———— 发送自定义广播

    一.两种广播类型 2.1 标准广播 是一种完全异步执行的广播,在广播发出去之后,所有的广播接收器几乎都会在同一时刻接收到这条广播消息,因此它们之间没有任何先后顺序可言.这种广播的效率会比较高,但同时也 ...

随机推荐

  1. iOS拼音搜索,拼音首字母搜索

    扩展了一下 搜索框,能够实现拼音和首字母模糊搜索 基本搜索 上一篇文章 #import "NSString+utility.h" @interface WJWPinyinSearc ...

  2. 2019年春季学期第二周作业 基础作业 请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。 输入: 请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。 输出 在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件

    ~~~ include<stdio.h> include<stdlib.h> int main() { FILE*fp; int i=0,max=0,j=0,maxb=0; i ...

  3. domain logic approaches

    领域逻辑组织可以分为三种主要的模式:事务脚本(Transaction Script).领域模型(Domain Model)和表模块(Table Module)” 1.domain logic appr ...

  4. spark-sql自定义函数UDF和UDAF

    1 UDF对每个值进行处理: 2 UDAF对分组后的每个值处理(必须分组) SparkConf sparkConf = new SparkConf() .setMaster("local&q ...

  5. Python004-数据处理示例:以某个数据(字段)为基准从数据中获取不同的字段行数

    数据源样式如下所示: 需求: 读取文本,以第一列为基准参考系,每个基准仅输出满足需要条数的数据:不满足,全部输出. 比如,基准为 6236683970000018780,输出条数要求为 5.若文本中含 ...

  6. 小程序报错 TLS 版本必须大于等于 1.2

    https://www.cnblogs.com/phpper/p/6866036.html 服务器是windows 2008 server 环境是IIS7SSL是申请用的阿里免费.微信小程序发现wx. ...

  7. opencart 3添加pdf文档下载功能

    opencart 3适合做外贸商城,如果能在产品页那边添加pdf文档功能是最好的,符合国外用户的使用习惯,增加客户的黏性.其实opencart已经有一个downloadable product可下载产 ...

  8. 取模性质,快速幂,快速乘,gcd和最小公倍数

    一.取模运算 取模(取余)运算法则: 1. (a+b)%p=(a%p+b%p)%p; 2.(a-b)%p=(a%p-b%p)%p; 3.(a*b)%p=(a%p * b%p)%p; 4.(a^b)%p ...

  9. vue的计算属性computed和监听器watch

    <template> <div> this is A.vue <br> <!--计算属性--> <label for="msg" ...

  10. java 访问数据库

    Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);//依据不同数据库,加载不同驱动 String url = “jdbc:sq ...