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