我在手動結束IntentService onHandleIntent方法時遇到了一些麻煩。我正在捕捉一個異常,這對於線程的其他部分的執行至關重要,並且我想在捕獲異常時停止線程。我試着調用stopSelf()或直接調用onDestroy(),我確信這可能是非常糟糕的做法,而且它們不起作用。線程調用它們然後繼續。手動結束IntentService工作線程
任何人都有如何做到這一點好主意?
我在手動結束IntentService onHandleIntent方法時遇到了一些麻煩。我正在捕捉一個異常,這對於線程的其他部分的執行至關重要,並且我想在捕獲異常時停止線程。我試着調用stopSelf()或直接調用onDestroy(),我確信這可能是非常糟糕的做法,而且它們不起作用。線程調用它們然後繼續。手動結束IntentService工作線程
任何人都有如何做到這一點好主意?
正如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
}
IntentService在完成OnHandleIntent後自動停止。沒有必要手動進行。方法的
讀取的描述onHandleIntent()
謝謝,我認爲這應該工作。 – gtdevel