2011-12-23 17 views
2

これは私のウィジェットとメインアプリケーションに関する短い説明です。私の英語のために申し訳ありません(英語は母国語ではありません)Androidウィジェット - アプリケーション強制停止時に再びサービスをバインドする

私は音楽プレーヤーのウィジェットを持っています。このウィジェットを有効にすると、メインアプリケーションの音楽プレーヤーサービス(A)にバインドする必要があります。 AppWidgetProviderではサービスをバインドできないため、AppWidgetProviderでローカルサービス(B)を開始し、ここからその音楽プレーヤーサービス(A)にバインドします。さらに、ウィジェットのボタン機能を実行するサービスCもあります。

すべてがうまくいっているようですが、サービスのあるメインアプリがすべて停止すると(後で再表示されます)、ウィジェットからAに再バインドする必要があります。問題はメインアプリケーションが強制停止されたときです。なぜならコンテキスト(onUpdateからコンテキストを受け取るたびにAppWidgetProviderのグローバル変数としてContextを格納していました)がNULLであるため、Aに再バインドできません。

私の質問は、私の上記のウィジェット構造についてはどうですか? AにバインドするとサービスBを停止する必要がありますか?メインアプリとサービスaが強制停止されたときに、サービスAに再びバインドするにはどうすればよいですか(ただし、後で自動的に再開されます)。

ありがとう!主なアプリケーションはにonUpdateに再びサービスをバインドするために、停止を余儀なくされたとき

答えて

2
は、アプリケーション・コンテキストを使用)( context.getApplicationContext().bindService(..)
  • を使用して、私たちは、ウィジェットからサービスをバインドすることができ、

    1. まず自分の質問に回答

      MyMainApplication.Instance().getApplicationContext().bindService(..)

  • 関連する問題