我已注册我的应用程序以使用警报管理器在某个特定时间发送广播,并设置接收器来收听该广播。

现在可能有2种情况:

  1. 操作系统认为内存不足,并将该应用程序从后台删除。Android 文档说操作系统将确保我的接收器收到我的广播。是真的吗?我该如何测试这种情况?
  2. 用户决定使用任何任务杀手关闭我的应用程序。在这种情况下我也会收到广播吗?如果没有的话有什么办法可以处理这种情况吗?
有帮助吗?

解决方案

操作系统认为内存不足,并将该应用程序从后台删除。

无论如何,你的接收器不会在内存中。您的接收器可用于 AlarmManager 应该在清单中注册,并且这些接收者仅在其需要的时间内存在 onReceive() 跑步。

是真的吗?

是的。

我该如何测试这种情况?

如果您的接收器已在清单中注册,则每个测试都会测试这种情况。

用户决定使用任何任务杀手关闭我的应用程序。在这种情况下我也会收到广播吗?

在 Android 2.1 及更早版本上,没有。那里的任务杀手还消除了预定的警报。

如果没有的话有什么办法可以处理这种情况吗?

事实并非如此,这就是为什么 Android 2.2 消除了这一点。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top