停止 IntentService

发布于 2024-11-30 12:57:38 字数 105 浏览 1 评论 0原文

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

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

谢谢

Does anyone know if there is a way of stopping an IntentService without it finishing its work thread and stopping itself?

Simple question, but I couldn't find the answer in the documentation. Is there a simple way of stopping it?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

烟酒忠诚 2024-12-07 12:57:38

在调用 StartCommand 时将发送给服务的消息放入队列之前。它转发消息以进行排队。所以你可以覆盖 onStartCommand,类似这样:

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    if (intent.getAction().equals("Stop"))
        stopSelf();
    onStart(intent, startId);
    return START_NOT_STICKY;
}

干杯

bevor a message to a service is enqueued onStartCommand is called. which forwards the message for queueing. so you could just override onStartCommand, something like that:

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    if (intent.getAction().equals("Stop"))
        stopSelf();
    onStart(intent, startId);
    return START_NOT_STICKY;
}

cheers

太阳男子 2024-12-07 12:57:38

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

I currently stumble upon this requierement for an app i am working on. I will try using onStartCommand to send a message to the Intent Service to stop working (for example, setup a boolean flag stopWork = true) and evaluate it during the working job or before the next queued task. The IntentService wont stop inmediately but will skip all pending tasks. Hope it helps. Gonna try it myself also.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文