手动结束IntentService工作线程

发布于 2024-12-01 07:02:15 字数 193 浏览 1 评论 0原文

我在手动结束 IntentService onHandleIntent 方法时遇到一些麻烦。我正在捕获一个异常,这对于线程其余部分的执行至关重要,并且我想在捕获异常时停止线程。我尝试调用 stopSelf() 或直接调用 onDestroy() ,我确信这可能是非常糟糕的方法,而且它们不起作用。线程调用它们然后继续。

有人对如何做到这一点有什么好主意吗?

I am having some trouble manually ending the IntentService onHandleIntent method. I am catching an exception which is crucial to the execution of the rest of the thread and I want to stop the thread as i catch the exception. I tried calling stopSelf() or directly calling onDestroy() which I'm sure are probably very bad ways of doing it, and they aren't working. The thread calls them and then continues.

Anyone have any good ideas of how to do this?

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

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

发布评论

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

评论(2

陌路黄昏 2024-12-08 07:02:15

正如sonykuba所说,完成onHandleIntent方法会停止Service。所以你可以这样做:

public void onHandleIntent {
  try {
   // ... your code here
  } catch(YourException e) {
    // do something with the exception
    return; // this prevents the rest of the method from execution 
            // and thereby stops the service
  }
  // rest of your code
}

As sonykuba said, finishing the onHandleIntent method stops the Service. So you could do something like this:

public void onHandleIntent {
  try {
   // ... your code here
  } catch(YourException e) {
    // do something with the exception
    return; // this prevents the rest of the method from execution 
            // and thereby stops the service
  }
  // rest of your code
}
静若繁花 2024-12-08 07:02:15

IntentService 完成 OnHandleIntent 后自动停止。无需手动执行此操作。

阅读方法说明 onHandleIntent()

IntentService stops automaticlly after finishing OnHandleIntent. There is no need to do it manually.

Read description of method onHandleIntent()

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