Pytanie wysłać transmisję z usługi do aktywności?


Mam problem z wysłaniem transmisji z usługi do działania.

Oto, co mam w mojej klasie serwisowej:

Intent intent = new Intent();
intent.setAction(BROADCAST_ACTION);
sendBroadcast(intent);

Mam wiele działań i w jednej z moich czynności mam to:

   class MyBroadcast extends BroadcastReceiver {
            @Override
            public void onReceive(Context ctxt, Intent i) {


                System.out.println("received");

            }
        };

Problem w tym, że mój odbiornik nie otrzymuje nic !!

Wsparcie!

EDYTOWAĆ:

Jeśli mam wiele działań, w jaki sposób mogę wysłać wiadomość do wszystkich z nich. Innymi słowy, czy mogę zastosować ten sam odbiornik do wszystkich działań!


12
2017-11-21 12:30


pochodzenie




Odpowiedzi:


Jak powiedzieli inni, musisz zarejestrować najpierw aktywność, aby otrzymać te transmisje (patrz odpowiedź Flo)

W przypadku innych pytań (ponownie: EDYTUJ). Jeśli wykonujesz to samo działanie, powinieneś utworzyć ogólną aktywność, a inne twoje działania rozszerzyć.

Następnie w tej super klasie, zaimplementuj rejestry odbiornika nadawczego w onResume i wyrejestruj onStop ..


3
2017-11-21 15:47





Musisz zarejestrować odbiornik, zanim będzie mógł odebrać cokolwiek.

Spójrz na to pytanie.


3
2017-11-21 12:33