当应用程序从最近的应用程序列表中刷过时,应用程序中的服务是否也已停止?或者,他们活着?
START_STICKY
如果系统在onStartCommand()之后终止服务 返回,重新创建服务并调用onStartCommand()但不是 重新使用最后的意图。相反,系统调用onStartCommand() 具有null意图,除非有待启动的意图启动 服务。在那种情况下,这些意图被交付。这很合适 对于未执行的媒体播放器(或类似服务) 命令但无限期地运行并等待工作。
我知道可以选择在服务的onStartCommand
上返回START_STICKY。但是,当我杀死应用程序时,服务不会被杀死吗?并且,它会被退回/重新启动吗?
所以,这意味着如果我返回START_STICKY
,服务将无限期地继续运行,直到我故意停止它为止?
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Toast.makeText(this, "service starting", Toast.LENGTH_SHORT).show();
// For each start request, send a message to start a job and deliver the
// start ID so we know which request we're stopping when we finish the job
Message msg = mServiceHandler.obtainMessage();
msg.arg1 = startId;
mServiceHandler.sendMessage(msg);
// If we get killed, after returning from here, restart
return START_STICKY;
}