4

IntentService onHandleIntent メソッドを手動で終了するのに問題があります。残りのスレッドの実行に不可欠な例外をキャッチしています。例外をキャッチしたときにスレッドを停止したいと考えています。stopSelf() を呼び出すか、onDestroy() を直接呼び出してみましたが、これはおそらく非常に悪い方法であると確信していますが、機能していません。スレッドはそれらを呼び出して続行します。

誰でもこれを行う方法について良いアイデアはありますか?

4

2 に答える 2

2

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
}
于 2011-08-24T11:59:36.363 に答える
1

IntentService は、OnHandleIntent の終了後に自動的に停止します。手動で行う必要はありません。

メソッドonHandleIntent()の説明を読む

于 2011-08-24T10:10:52.997 に答える