应用程序未运行时的BroadcastReceiver

时间:2012-05-22 17:53:27

标签: android broadcastreceiver alarmmanager

我在清单中注册了BroadcastReceiver,它接收来自AlarmManager的通知。在应用程序运行时,这一切都很有效,即正在调用onReceive()方法。

但是,如果我强制停止该应用,以便我可以测试BroadcastReceiver是否仍会在未运行时收到来自AlarmManager的通知,则永远不会调用onReceive()方法。

强制停止不能用来测试AlarmManager&接收器就这样?似乎有一些回应说它不起作用,有些人说应该这样做。

如果没有,有没有办法测试这个?

3 个答案:

答案 0 :(得分:3)

如果您的接收器已在您的清单中注册,则应始终有效。即使你的应用程序被强制关闭。

问题可能是警报。应用程序强制关闭后,警报可能会被删除。

答案 1 :(得分:1)

根据对this answer的评论,您无法通过自行杀死该应用来测试此类事情。您必须抛出一个异常,以便应用程序“自然地”死亡。

答案 2 :(得分:0)

这可能是您的设备问题。在Xiomi,Oppo,Vivo,honor和Letv手机中,用户必须授予该应用程序的自动启动权限,为此,您应该要求用户手动启用此功能,而您无法通过编程方式完成此操作