有没有办法在IntentService没有完成工作线程并停止自己的情况下停止它?这是一个简单的问题,但我在文档中找不到答案。是否有一种简单的方法来停止它?谢谢。
在将消息排队之前,会调用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;
}
干杯
http://developer.android.com/reference/android/app/Service.html#stopSelf()
stopSelf
呢?消息会被排队。 - james我目前在开发的应用程序中遇到了这个需求。我将尝试使用onStartCommand向Intent Service发送一条消息以停止工作(例如,设置一个布尔标志stopWork = true),并在工作任务期间或下一个排队任务之前对其进行评估。IntentService不会立即停止,但会跳过所有待处理的任务。希望能有所帮助。我也会尝试自己实现。
stopService(intent);
是怎么样的呢? - james