作業スレッドを終了してそれ自体を停止せずに IntentService を停止する方法があるかどうかは誰にもわかりますか?
簡単な質問ですが、ドキュメントに答えが見つかりませんでした。それを止める簡単な方法はありますか?
ありがとう
作業スレッドを終了してそれ自体を停止せずに IntentService を停止する方法があるかどうかは誰にもわかりますか?
簡単な質問ですが、ドキュメントに答えが見つかりませんでした。それを止める簡単な方法はありますか?
ありがとう
サービスへのメッセージがエンキューされる前に、onStartCommand が呼び出されます。キューイングのためにメッセージを転送します。そのため、次のように onStartCommand をオーバーライドできます。
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if (intent.getAction().equals("Stop"))
stopSelf();
onStart(intent, startId);
return START_NOT_STICKY;
}
乾杯
stopSelf(); を呼び出すことができるはずです。
http://developer.android.com/reference/android/app/Service.html#stopSelf ()
私は現在、自分が取り組んでいるアプリのこの要件に遭遇しました。onStartCommandを使用してインテントサービスにメッセージを送信して動作を停止し(たとえば、ブールフラグstopWork = trueを設定)、動作中または次のキューに入れられたタスクの前に評価してみます。IntentServiceはすぐには停止しませんが、保留中のすべてのタスクをスキップします。それが役に立てば幸い。自分でもやってみます。