我的应用运行地理定位服务,用户可以通过toggleButton激活或停用。要检查服务的状态,我在共享首选项中写了一个布尔值。由于我的服务的onDestroy(),我听服务的开始和结束。
我的问题是:当用户使用“高级任务杀手”终止服务时,我无法知道该服务被终止,onDestroy未被调用!
我该如何处理?
感谢您的帮助。
Florent
答案 0 :(得分:2)
当进程被终止时(使用ATK或android自己的强制停止按钮或函数here),它会立即从内存中清除(如果内核允许)。这意味着没有机会运行任何其他代码,这意味着无法真正处理发送到您的应用程序的“强制终止”。
如果你想处理这个问题,你有两个选择(我能想到):
修改强>
如果您想从当前正在运行的流程列表中检查流程,请查看getRunningAppProcesses()。
答案 1 :(得分:-1)
onDestroy()
如果要重新启动该服务,可以在onDestroy()
。