20

IntentServiceを使用して画像をサーバーにアップロードしています。私の問題は、サービスを停止する方法とタイミングがわからないことです。onHandleIntent(Intent ..)でstopself()を呼び出すと、IntentServiceキューで待機しているすべてのインテントが削除されます。ただし、アプリケーションが実行されていなくてもアップロードプロセスを完了したいので、アクティビティからサービスを停止したくありません。

4

2 に答える 2

46

私の問題は、サービスを停止する方法とタイミングがわからないことです。

IntentServiceonHandleIntent()実行中にコマンドが送信されなくなった場合、終了時に自動的に停止しますonHandleIntent()。したがって、手動で自分自身を停止することはありませんIntentService

onHandleIntent(Intent ..)でstopself()を呼び出すと、IntentServiceキューで待機しているすべてのインテントが削除されます。

それがあなたがそうしない理由です。

ただし、アプリケーションが実行されていなくてもアップロードプロセスを完了したいので、アクティビティからサービスを停止したくありません。

次に、IntentServiceそれ自体を停止させます。

于 2012-04-20T17:37:51.440 に答える
5

処理するs(ジョブ)IntentServiceがなくなると、は自動的に停止します。(ジョブ)ごとIntentに実行されます。ソースまたはここからhttp://developer.android.com/guide/topics/fundamentals/services.htmlをご覧くださいstopSelf(startId)IntentIntentServiceExtending the Service Class

于 2012-04-20T17:37:47.243 に答える