我能否检测到我的服务何时被“高级任务终止程序”终止?

发布于 2024-11-04 07:08:46 字数 206 浏览 4 评论 0原文

我的应用程序运行地理定位服务,用户可以通过切换按钮激活或禁用该服务。为了检查服务的状态,我在共享首选项中编写了一个布尔值。感谢我的服务的 onDestroy(),我听到了服务的开始和结束。

我的问题是:当用户使用“高级任务杀手”杀死服务时,我不知道该服务被杀死,onDestroy没有被调用!

我该如何处理呢?

感谢您的帮助。

弗洛朗

My app runs a geolocalisation service that the user can active or disactive by a toggleButton. To check the status of the service, I write a boolean in the Shared Preferences. I listen the beginning of the service and the end of it thanks to the onDestroy() of my service.

My problem is that: When the user kill the service with the "advanced task killer", I can't know that the service is killed, the onDestroy is not called !

How can I deal with that?

Thanks for your help.

Florent

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

小…红帽 2024-11-11 07:08:46

当进程被杀死时(使用ATK或android自己的强制停止按钮,或函数此处),它会立即从内存中清除(如果内核允许的话)。这意味着没有机会运行任何额外的代码,这意味着没有办法真正处理发送到您的应用程序的“强制终止”。

如果你想处理这个问题,你有两个选择(我能想到的):

  1. 发布免责声明,告诉用户将你的应用程序添加到 ATK 的“忽略”列表中。
  2. 找到一些不依赖 onDestroy() 方法来维护功能的方法。

编辑:

如果您想从当前正在运行的进程列表中检查您的进程,请查看getRunningAppProcesses()

When a process is killed (using ATK or android's own force stop button, or the function here), it is immediately purged from memory (if the kernel allows it). This means there's no chance for any additional code to run, meaning there is no way to really deal with a "force kill" sent to your application.

If you want to handle this, you have 2 options (that I can think of):

  1. Publish a disclaimer telling users to add your app to the "ignore" list of ATK.
  2. Find some way to maintain functionality without relying on the onDestroy() method.

EDIT:

If you want to check for your process from a list of currently-running processes, look into getRunningAppProcesses().

乱了心跳 2024-11-11 07:08:46

onDestroy()

如果想重启服务,可以在onDestroy()中重启。

onDestroy()

If you want to restart the service, you can restart in onDestroy().

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文