5

作業スレッドを終了してそれ自体を停止せずに IntentService を停止する方法があるかどうかは誰にもわかりますか?

簡単な質問ですが、ドキュメントに答えが見つかりませんでした。それを止める簡単な方法はありますか?

ありがとう

4

3 に答える 3

3

サービスへのメッセージがエンキューされる前に、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;
}

乾杯

于 2012-05-22T10:20:07.277 に答える
2

stopSelf(); を呼び出すことができるはずです。

http://developer.android.com/reference/android/app/Service.html#stopSelf ()

于 2011-09-13T20:39:26.057 に答える
1

私は現在、自分が取り組んでいるアプリのこの要件に遭遇しました。onStartCommandを使用してインテントサービスにメッセージを送信して動作を停止し(たとえば、ブールフラグstopWork = trueを設定)、動作中または次のキューに入れられたタスクの前に評価してみます。IntentServiceはすぐには停止しませんが、保留中のすべてのタスクをスキップします。それが役に立てば幸い。自分でもやってみます。

于 2012-08-13T14:50:33.633 に答える