手动结束IntentService工作线程

时间:2011-08-24 09:39:19

标签: android multithreading intentservice

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

任何人都对如何做到这一点有任何好的想法?

2 个答案:

答案 0 :(得分:2)

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

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
}

答案 1 :(得分:1)

完成OnHandleIntent后,IntentService会自动停止。没有必要手动完成。

阅读方法onHandleIntent()

的说明