7

私はいくつかのサービスクラスを持っています。これは複数のアラームを登録します。私BroadcastReceiverクラスでBroadcastReceiverへのバインドサービス

は、私がonReceive()メソッドは、サービスクラスのいくつかのメソッドを呼び出したいです。

しかし、私はそれらを結びつけることはできません。 BroadcastReceiverを内部クラスにしようとしましたが、さらにエラーが発生してアラームが発生しませんでした。

おかげ

+0

私はいくつかの回避策を見つけたので、それはもはや関連しません。私はまだこれができるかどうかを知りたいです。私はすべての種類のpeekSerivce()を試して、静的インスタンスフィールドを使用していますが、どれも動作しません。 – Mugen

答えて

6

http://developer.android.com/reference/android/content/BroadcastReceiver.htmlライフサイクルを見てください。 BroadcastReceiverは、メッセージを処理するためにのみ作成されます。それは人生が非常に短いことを意味します、それはまた、ステートレスです。だからあなたはそれに何かを束縛することはできません。

とにかく、あなたは、このようにBroadcastReceiver、 のサービスフォームonReceive(Context context, Intent intent)メソッドを起動しようとすることができます

public void onReceive(Context context, Intent intent) { 
     Intent intent2 = new Intent(context, GCMService.class); 
     intent2.putExtras(intent); 
     context.startService(intent2); 
} 

は、次に=サービスは、ブロードキャストメッセージを処理する必要があります。

関連する問題