我在清单中注册了BroadcastReceiver
,它接收来自AlarmManager
的通知。在应用程序运行时,这一切都很有效,即正在调用onReceive()
方法。
但是,如果我强制停止该应用,以便我可以测试BroadcastReceiver
是否仍会在未运行时收到来自AlarmManager
的通知,则永远不会调用onReceive()
方法。
强制停止不能用来测试AlarmManager
&接收器就这样?似乎有一些回应说它不起作用,有些人说应该这样做。
如果没有,有没有办法测试这个?
答案 0 :(得分:3)
如果您的接收器已在您的清单中注册,则应始终有效。即使你的应用程序被强制关闭。
问题可能是警报。应用程序强制关闭后,警报可能会被删除。
答案 1 :(得分:1)
根据对this answer的评论,您无法通过自行杀死该应用来测试此类事情。您必须抛出一个异常,以便应用程序“自然地”死亡。
答案 2 :(得分:0)
这可能是您的设备问题。在Xiomi,Oppo,Vivo,honor和Letv手机中,用户必须授予该应用程序的自动启动权限,为此,您应该要求用户手动启用此功能,而您无法通过编程方式完成此操作