android.os.ServiceコンテキストのRobospice

RoboSpiceのドキュメントによると、 https://github.com/octo-online/robospice/wiki/Design-of-RoboSpice では、どのコンテキストでも使用できます。

サービスコンテキストでRobospiceを使用する例は見つかりません。 私はいくつかの試みを行いましたが、何も起こりませんでした。要求は実行されず、例外もありませんでした(ログ漏れの可能性があります。

  1. どこで起動/停止しますか? (spiceManager.start(this)/ spiceManager.shouldStop())
  2. SpiceManagerインスタンスを作成する場所はどこですか? (私のサービスはapplication.onCreate()メソッドで始まりますが、SpiceServiceの初期化を待つ必要がありますか?)

いくつかのコード

public abstract class SpicyService extends Service {

    private SpiceManager spiceManager = new SpiceManager(SpiceService.class);

    @Override
    public void onCreate() {
        super.onCreate();
        spiceManager.start(this);
    }

    @Override
    public void onDestroy() {
        spiceManager.shouldStop();
        super.onDestroy();
    }
}
5
nl ru de

1 答え

私の恥...

私はその子供のサービスを発見したコーヒーを飲んだ後、spiceManagerを起動するためのsuper.onCreate()コールがありません。

今は完璧に動作しています! ごめんね。

5
追加された
あなたのonDestroyメソッドが実際に呼び出されたかどうかを再確認してください。私はonStopのspiceManagerを停止します。これは確実に呼び出されます!
追加された 著者 Snicolas,
あなたは正しいです、私はアクティビティと混同していました。 :)
追加された 著者 Snicolas,
それがアクティビティであったとしても、 onStop()は必ず呼び出されるとは限りません。
追加された 著者 Darkhogg,
android.os.ServiceにはonStop()メソッドがありません
追加された 著者 Dmitriy Voronin,