我可以想到一个使用START_REDELIVER_INTENT
时的实际例子:假设我们的音乐播放器正在播放音乐,如果我们的服务由于内存不足而被杀死,那么我们希望它在内存可用时重新开始播放。为此,我们可以使用START_REDELIVER_INTENT
,因为我们正在发送我们需要在启动服务的意图中播放的轨道的id /路径,并且在重新启动服务时我们将再次需要相同的意图来播放相同的轨道。
但是,在很多地方都提到我们需要将START_STICKY
与音乐播放器一起使用。我无法理解为什么他们提到START_STICKY
因为我们需要知道轨道的路径/ id才能再次开始播放。当我们需要使用START_STICKY
?
答案 0 :(得分:0)
大部分时间都使用START_STICKY,因为如果服务想要在后台运行,即使应用程序被终止或者使用stopwithTask,我们也可以根据需要停止它。
虽然用于START_REDELIVER_INTENT的服务仅用于在处理发送给它们的任何命令时应保持运行的服务。