2017-05-02 10 views
3

私は、呼び出されたときにいくつかの状態値をチェックし、状態によっては非同期的に(locationmanager + asynctask)何かを呼び出したり、値を保存して終了したりする必要があるかもしれないサービスを持っています。AndroidサービスonStartCommand()内からstopSelf()を呼び出すことはできますか?

私は、時々非同期タスクを作成する必要があるため、インテントサービスではなくサービスを作成します。

私はサービスを読んでいます。私は、完了したらstopSelfを呼び出す必要があることを知りました。しかし、何もする必要がない場合、私はonStartCommandを終了するときに完了します。

私はその時点で完了したら、それはonStartCommandの最後の行でstopSelfを呼び出すだけですか?そのアプローチに問題はありますか?

ありがとうございます。

答えて

1

ifサービスをチェックインするだけの場合、サービスを開始する前にそのチェックを実行しないでください。貴重なリソースを控えるのはなぜですか?

質問に答えるには、stopSelf()Serviceを停止させますが、サービスを使用しない場合は起動しないことも検討してください。

+0

はい、私は実際それについて考えました。事は、サービスを呼び出す放送受信者とサービスがコードを実行するときの間に状況が変わった可能性がわずかにあることです。それとも私の考えだったatleast :) – Mathias

関連する問題