如果应用程序未启动,则广播接收器无法接收广播

5
我有两个应用程序都安装在同一设备上。其中一个应用程序捕获ACTION_BOOT_COMPLETED广播,进行一些初始化并发送另一个广播(例如MY_CUSTOM_BROADCAST)。第二个应用程序拥有一个broadcastreceiver(在清单中通过标签进行了说明),用于监听此自定义广播。在启动时,第一个应用程序接收到ACTION_BOOT_COMPLETED并成功发送自定义广播。但是我的第二个应用程序的接收器似乎没有接收到它。我尝试使用“am broadcast”发送自定义广播。即使这样,第二个应用程序的接收器也不会接收到它。
然后我启动了第二个应用程序的主活动,然后尝试使用“am broadcast”发送广播。然后第二个应用程序的接收器成功接收到它。
有人能帮我解释为什么我的接收器在启动时没有收到自定义广播吗?我正在4.0.3(ICS)上运行此操作。

2
你是在代码中还是清单文件中注册你的BroadcastReceiver? - waqaslam
你是如何测试广播是否被接收的? - Khasm
我正在清单中注册。我通过日志记录来测试收据,同时当接收到广播时,它会启动一个活动。 - Krishna
1个回答

7

1
嘿@Khasm,我正在为GCM通知注册广播接收器,如果我强制关闭我的应用程序,那么我就无法接收到广播。那我该怎么办呢? - D V Ramana
有人知道这是否仍然正确吗? - M Dapp
将 Intent.FLAG_INCLUDE_STOPPED_PACKAGES 添加到 Intent 中适用于我使用的 Android 5.1.1 和 7.1.1 版本。 - Christian Schulzendorff

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接