2 u010029536 u010029536 于 2016.04.29 14:45 提问

Broadcast在两个Activity之间的通信问题

现在我有两个Activity A和B,在A中有一个按钮,按下按钮会发送一条广播,B中有自定义的广播接收器,并进行了动态注册,我想知道是不是只有启动了B才能接受到广播还是无论B有没有启动都能接收到广播?

4个回答

lp897225636
lp897225636   2016.04.29 15:10
已采纳

因为广播是在Activity B中动态注册的,所以只有在启动了B的情况下,B才能接收到广播

u010029536
u010029536 回复杨柳依依-candy: 好的明白了 ,谢谢了 ,以前是学C++的,刚开始搞安卓开发
大约 2 年之前 回复
lp897225636
lp897225636 回复七夜style: 如果B是启动的情况,只要接收到广播立即就会处理的。如果想在B没启动的情况下也能立即处理,那就得注册静态广播了
大约 2 年之前 回复
u010029536
u010029536 那如果我想通过A发的广播,希望B立即就能处理,应该怎么做呢
大约 2 年之前 回复
u010076059
u010076059   2016.04.29 14:47

搞清楚 动态注册和静态注册的区别就知道了:
两者及其接收广播的区别:

1.动态注册的广播永远要快于静态注册的广播,不管静态注册的优先级设置的多高,不管动态注册的优先级有多低>\

2.动态注册广播不是常驻型广播,也就是说广播跟随activity的生命周期。注意: 在activity结束前,移除广播接收器。

静态注册是常驻型,也就是说当应用程序关闭后,如果有信息广播来,程序也会被系统调用自动运行。

CSDNXIAOD
CSDNXIAOD   2016.04.29 14:53

Android 两个activity之间通信
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

dongfeng9ge
dongfeng9ge   Ds   Rxr 2016.04.29 15:10

只有启动了才能接收广播

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Android中BroadCast与Activity之间的通信
在看本文之前,如果你对于Android的广播机制不是很了解,建议先行阅读我转载的一篇博文:图解 Android 广播机制。 由于本案例比较简单,故直接在此贴出代码,不做过多的阐述。 先上效果截图: MainActivity的代码如下: package com.gc.testbroadcasedemo; import android.app.Activity; import a
Android Service与Activity之间通信:通过Binder对象、Broadcast广播
From:http://blog.csdn.net/xiaanming/article/details/9750689 From:http://blog.csdn.net/ameyume/article/details/6290137
------------------------------利用BroadcastReceiver进行Activity和Service之间的通信(留着自己参考用)
http://blog.sina.com.cn/s/blog_70677d110100yaht.html activity类: package yt.hy.activity; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Con
Broadcast实现Activity之间刷新或值传递
Activity之间UI刷新,是个一个很常见的应用场景(Scene)。虽然可以定义一个静态变量和方法去搞定,但不推荐采用静态方法去操作。Android的广播机制是信心传递的一种方式,广播的特点是:支持消息发送、接收,但不询问是否发送接收成功。需求:选择任务的执行人,但是好友列表是从另一个Activity来选的,选择后在原来打开的Activity中刷新选择的结果。
[Android]从BroadcastReceiver到Activity的通信
此实例实现功能为在不打开新的Activity的前提下,从BroadcastReceiver传递数据给Activity实现很简单,但使用到了自定义广播,以免遗忘在此记录:代码以通过广播读取短信再传递给前台Activity进行显示为例 AndroidManifest文件 <uses-permission android:name="android.permission.RECEIVE_SMS"
两个不相关Activity之间的通信
同一个应用内两个不相关的activity 例如A进入B,B进入C,C进入D 或者A进入B,C进入D,那么A和D可以看做两个不相关的activity. 假如有这样一个需求,在D activity中按一个按钮,A activiy必须立即更新数据,那么可以的方法有哪些呢,我能想到的有以下几种: 第一种方式: 1 广播 这个就不细说了,Android的基础,百度一下就知道。 2 回调 如果
Android 中两个Activity相互通信
先看MainActivity private Button m_bCreateActivityButtonBtn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(
Android之Activity之间的数据通信方式大全(一)
最近二期项目正在讨论需求,本人小小程序员只有搞搞维护的份。刚工作不久,技术经验不足,随时准备找份更好的工作,闲来无事,看看Android面试经典啥的,就看到有问Activity之间数据通信方式都有哪些(*只是Activity之间通信,不讨论Service、Broadcast),忽然想想自己也不是很确定了解的全不全。看了挺多文档,大多只涉及到其中几点,现在整理一下,共自己和大家参考,如有欠缺欢迎留言指
利用Intent进行Activity之间的通信(2)
Intent对象是component用来与操作系统通信的一种媒介工具。 作用原理 当需要从一个Activity启动另一个Activity时,一般做法是在按钮的监听器中创建一个Intent对象,传入另一个Activity参数,然后调用startActivity(Intent)方法发送请求给操作系统的ActivityManager, ActivityManager负责创建Activity实例
android之如何在两个activity之间传递handler_利用broadcast广播机制
这算是如何在两个activity之间传递handler的解决方案二了,解决方案一见http://blog.csdn.net/jason0539/article/details/18055259 再重复一遍我遇到的问题,就是在MainActivity里面打开AnotherActivity去执行一些操作,相应的改变MainActivity里的一些布局或者执行一些动作,最开始想到的就是把MainAct