5

有谁知道是否有办法停止 IntentService 而无需完成其工作线程并自行停止?

简单的问题,但我在文档中找不到答案。有没有简单的方法来阻止它?

谢谢

4

3 回答 3

3

在向服务排队的消息之前,调用 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;
}

干杯

于 2012-05-22T10:20:07.277 回答
2

你应该可以调用 stopSelf();

http://developer.android.com/reference/android/app/Service.html#stopSelf ()

于 2011-09-13T20:39:26.057 回答
1

我目前偶然发现了我正在开发的应用程序的这种要求。我将尝试使用 onStartCommand 向 Intent 服务发送消息以停止工作(例如,设置布尔标志 stopWork = true)并在工作作业期间或在下一个排队任务之前对其进行评估。IntentService 不会立即停止,但会跳过所有待处理的任务。希望能帮助到你。自己也去试试。

于 2012-08-13T14:50:33.633 回答