7

Mam pewną klasę Service, która rejestruje wiele alarmów.Usługa powiązania na BroadcastReceiver

W moim BroadcastReceiver klasie, chcę metoda onReceive(), aby wywołać jakąś metodę na Służby klasie.

Nie widzę jednak, jak mogę je połączyć. Próbowałem zrobić wewnętrzną klasę, ale wtedy dostałem więcej błędów i nie mogłem w ogóle wyzwolić alarmu.

Dzięki

+0

Znalazłem sposób obejścia problemu, więc nie ma już znaczenia. Nadal chciałbym wiedzieć, czy da się to zrobić. Próbowałem wszystkich rodzajów peekSerce() i używając statycznych pól instancji, ale żaden z nich nie działa. – Mugen

Odpowiedz

6

Spójrz na http://developer.android.com/reference/android/content/BroadcastReceiver.html cyklu życia. BroadcastReceiver jest tworzony tylko do obsługi wiadomości. Oznacza to, że życie jest bardzo krótkie, a także jest bezpaństwowcem. Więc nie możesz nic z tym wiązać.

Zresztą można spróbować uruchomić usług forma onReceive(Context context, Intent intent) metodę BroadcastReceiver, tak:

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

Następnie = usługa powinna obsłużyć komunikat rozgłoszeniowy.

Powiązane problemy