IntentServiceを使用して画像をサーバーにアップロードしています。私の問題は、サービスを停止する方法とタイミングがわからないことです。onHandleIntent(Intent ..)でstopself()を呼び出すと、IntentServiceキューで待機しているすべてのインテントが削除されます。ただし、アプリケーションが実行されていなくてもアップロードプロセスを完了したいので、アクティビティからサービスを停止したくありません。
2 に答える
私の問題は、サービスを停止する方法とタイミングがわからないことです。
IntentServiceonHandleIntent()実行中にコマンドが送信されなくなった場合、終了時に自動的に停止しますonHandleIntent()。したがって、手動で自分自身を停止することはありませんIntentService。
onHandleIntent(Intent ..)でstopself()を呼び出すと、IntentServiceキューで待機しているすべてのインテントが削除されます。
それがあなたがそうしない理由です。
ただし、アプリケーションが実行されていなくてもアップロードプロセスを完了したいので、アクティビティからサービスを停止したくありません。
次に、IntentServiceそれ自体を停止させます。
処理するs(ジョブ)IntentServiceがなくなると、は自動的に停止します。(ジョブ)ごとIntentに実行されます。ソースまたはここからhttp://developer.android.com/guide/topics/fundamentals/services.htmlをご覧くださいstopSelf(startId)IntentIntentServiceExtending the Service Class