59
私のサービスが開始されるべきではないときに、サービスを開始しようとすることができるいくつかの条件があります。このような場合には、の方法の中でstopSelf()
と呼ぶのは悪いフォームですか?もしそうなら、そのような状況を処理する最善の方法は何ですか?どんな資源も大変高く評価されます。Service.onStartCommandでstopSelf()を呼び出すことはできますか?
私のサービスが開始されるべきではないときに、サービスを開始しようとすることができるいくつかの条件があります。このような場合には、の方法の中でstopSelf()
と呼ぶのは悪いフォームですか?もしそうなら、そのような状況を処理する最善の方法は何ですか?どんな資源も大変高く評価されます。Service.onStartCommandでstopSelf()を呼び出すことはできますか?
onStartCommand()メソッド内でstopSelf()を呼び出すのは悪いフォームですか?
私の頭の上から離れて、私はなぜそれが問題になるのか考えることができません。
stopSelf()
は、Androidのもののように、すぐには効果がありません。メインアプリケーションスレッドによって処理されたメッセージキューにメッセージを格納します。サービスを停止する実際の作業は、onStartCommand()
が返された後のいつかまで開始されません。
私はServiceクラスの内部動作を完全には理解していないと考えていました。開始する前に停止する関数を呼び出すと、開始イベントもいくつか開始されました。それがどのように設計されたかについて。 –
@SpencerRuport: 'stopSelf()'は、Androidの多くのもののように、即座の効果はありません。メインアプリケーションスレッドによって処理されたメッセージキューにメッセージを格納します。サービスを停止する実際の作業は、 'onStartCommand()'が返ってからいつか始まることさえありません。 – CommonsWare
フォローアップの質問として、ちょうど 'stopSelf()'と呼ばれる適切な戻り値は何でしょうか? –