7

Ho una classe Service, che registra più allarmi.Bind Service to BroadcastReceiver

Nel mio BroadcastReceiver classe, voglio il metodo OnReceive() per chiamare un metodo della classe diservizio.

Tuttavia, non vedo come posso legarli insieme. Ho provato a rendere il BroadcastReceiver una classe interna, ma poi ho ricevuto più errori e non è stato possibile attivare l'allarme.

Grazie

+0

Ho trovato qualche soluzione, quindi non è più rilevante. Mi piacerebbe ancora sapere se questo può essere fatto. Ho provato tutti i tipi di peekSerivce() e usando campi di istanze statiche, ma nessuno funziona. – Mugen

risposta

6

Guardate http://developer.android.com/reference/android/content/BroadcastReceiver.html ciclo di vita. BroadcastReceiver viene creato solo per la gestione di un messaggio. Significa che la vita è molto breve, e che è anche apolide. Quindi non puoi legare nulla ad esso.

In ogni caso si può tentare di avviare un servizio di forma onReceive(Context context, Intent intent) metodo BroadcastReceiver, come questo:

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

Poi un = il servizio dovrebbe gestire un messaggio broadcast.