问题描述
- Broadcast在两个Activity之间的通信问题
-
现在我有两个Activity A和B,在A中有一个按钮,按下按钮会发送一条广播,B中有自定义的广播接收器,并进行了动态注册,我想知道是不是只有启动了B才能接受到广播还是无论B有没有启动都能接收到广播?
解决方案
因为广播是在Activity B中动态注册的,所以只有在启动了B的情况下,B才能接收到广播
解决方案二:
搞清楚 动态注册和静态注册的区别就知道了:
两者及其接收广播的区别:
1.动态注册的广播永远要快于静态注册的广播,不管静态注册的优先级设置的多高,不管动态注册的优先级有多低>
2.动态注册广播不是常驻型广播,也就是说广播跟随activity的生命周期。注意: 在activity结束前,移除广播接收器。
静态注册是常驻型,也就是说当应用程序关闭后,如果有信息广播来,程序也会被系统调用自动运行。
解决方案三:
Android 两个activity之间通信
解决方案四:
只有启动了才能接收广播
时间: 2024-09-02 14:03:47