有没有人知道是否有办法在没有完成工作线程并自行停止的情况下停止IntentService?
简单的问题,但我在文档中找不到答案。是否有一种简单的方法可以阻止它?
由于
答案 0 :(得分:3)
bevor一个服务的消息被入队onStartCommand被调用。转发消息进行排队。所以你可以覆盖onStartCommand,类似的东西:
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if (intent.getAction().equals("Stop"))
stopSelf();
onStart(intent, startId);
return START_NOT_STICKY;
}
欢呼声
答案 1 :(得分:2)
你应该可以调用stopSelf();
http://developer.android.com/reference/android/app/Service.html#stopSelf()
答案 2 :(得分:1)
我目前正在为我正在开发的应用程序找到这个需求。我将尝试使用onStartCommand向Intent Service发送一条消息以停止工作(例如,设置一个布尔标志stopWork = true)并在工作期间或下一个排队任务之前对其进行评估。 IntentService不会立即停止,但会跳过所有挂起的任务。希望能帮助到你。也会亲自尝试。