防止Android服务被操作系统杀死

时间:2014-02-02 16:11:21

标签: java android android-intent android-service android-ui

我创建了一个在onStartCommand上返回START_STICKY的服务。但是,过了一段时间后,我注意到我的应用程序已被操作系统杀死。

我是否可以使用任何方法/代码来阻止应用程序被操作系统杀死?我知道这可能不属于最佳做法。 或者我们可以使用其他方法,例如反复检查应用程序是否正在运行,如果不是,则启动应用程序?

非常感谢您对此的见解。

干杯

2 个答案:

答案 0 :(得分:1)

您无法阻止您的进程被杀死。如果OS决定杀死你的进程,你将被杀死。期。

START_STICKY不会做任何其他答案错误告诉的魔术,docs about that value say

  

如果此服务的进程在启动时被终止(之后)   从onStartCommand(Intent,int,int)返回,然后将其留在   开始状态,但不保留这个交付的意图。后来的系统   将尝试重新创建服务。因为它处于启动状态,   它将保证在之后调用onStartCommand(Intent,int,int)   创建新的服务实例;如果没有任何未决的开始   要传递给服务的命令,将使用null调用它   意图对象,所以你必须注意检查这个。

答案 1 :(得分:0)

停止服务被android杀死的最好方法是创建持久通知。这将使Android不惜一切代价保持服务的活着,因为它显示了一些可见的东西。

相关问题