我在手动结束IntentService onHandleIntent方法时遇到了一些麻烦。我正在捕获一个异常,这对执行其余的线程至关重要,我想在捕获异常时停止该线程。我尝试调用stopSelf()或直接调用onDestroy(),我确信这可能是非常糟糕的方法,而且它们不起作用。线程调用它们然后继续。
任何人都对如何做到这一点有任何好的想法?
答案 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()
的说明