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++的,刚开始搞安卓开发
一年多之前 回复
lp897225636
lp897225636 回复七夜style: 如果B是启动的情况,只要接收到广播立即就会处理的。如果想在B没启动的情况下也能立即处理,那就得注册静态广播了
一年多之前 回复
u010029536
u010029536 那如果我想通过A发的广播,希望B立即就能处理,应该怎么做呢
一年多之前 回复
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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!