Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我是否可以检测到我的服务何时被";高级任务杀手“;_Android_Geolocation_Task_Kill_Ondestroy - Fatal编程技术网

Android 我是否可以检测到我的服务何时被";高级任务杀手“;

Android 我是否可以检测到我的服务何时被";高级任务杀手“;,android,geolocation,task,kill,ondestroy,Android,Geolocation,Task,Kill,Ondestroy,我的应用程序运行地理定位服务,用户可以通过切换按钮激活或禁用该服务。为了检查服务的状态,我在共享首选项中写了一个布尔值。由于我的服务的onDestroy(),我听服务的开始和结束 我的问题是:当用户用“高级任务杀手”杀死服务时,我无法知道服务被杀死了,onDestroy不会被调用 我该怎么处理呢 谢谢你的帮助 Florent当进程被终止时(使用ATK或android自己的强制停止按钮或函数),它会立即从内存中清除(如果内核允许)。这意味着没有机会运行任何其他代码,这意味着没有办法真正处理发送到应

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

我的问题是:当用户用“高级任务杀手”杀死服务时,我无法知道服务被杀死了,onDestroy不会被调用

我该怎么处理呢

谢谢你的帮助

Florent

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

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

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

    如果要从当前正在运行的进程列表中检查进程,请查看。

    onDestroy()


    如果要重新启动服务,可以在
    ondestory()

    中重新启动,我希望没有办法。如果我使用Advanced Task Killer杀死一个进程,我所期望的是该进程将不再处于活动状态(除非我显式地执行它)。有一个iPortal进程会很烦人。我只想知道该服务是否有效。我知道Advanced Task killer会终止进程,但我无法检测到服务被终止,因为onDestroy没有被调用。也许可以提供一些启示。当应用程序被终止时,onDestroy()通常不会被调用。根据SO上的大多数响应:onDestroy()在系统终止服务时不调用。此外,如果您希望自动重新启动服务,首先应该使用START\u STICKY。