sendBroadcast non viene chiamato in Attività quando l'attività viene aperta

Ciao a tutti sto facendo un'app, where ricevi pacchetti XMPP. La mia applicazione inizia in primo piano e avvia un servizio appiccicoso se non viene avviato e inizia a ricevere messaggi in sfondi e le notifiche. Le notifiche funzionano bene e quando cliccano visualizzano i dati. Il problema viene (talvolta anche in alcuni telefoni cellulari) quando faccio una chiamata sendBroadcast dal servizio in modo da poter aggiornare in modo asincrono il text del messaggio in Attività quando viene aperto.

La mia applicazione è fatta con un'attività e all'interno di essa ci sono due frammenti (SherlockFragment)

  • android listview altezza dell'articolo
  • BroadcastReceiver quando lo stato di networking wifi o 3G è cambiato
  • Creare un'annotazione Java con il comportmento contestuale di IDE
  • La modalità Lite di Google Maps provoca un danneggiamento in RecyclerView
  • Imansible trovare Library.apk!
  • Come impostare Service / StartForeground per funzionare correttamente con CountDownTimer
  • così ho fatto un trasmettitore privato in un frammento in cui voglio mostrare il text (text aggiornato).

    Il codice è riportto di seguito

    public class newMessage extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Log.v("ONMESSAGE", "broadcast"); String action = intent.getAction(); if(action.equalsIgnoreCase("NewMessage")){ Bundle extra = intent.getExtras(); String username = extra.getString("from"); String message = extra.getString("message"); showMessage(username, message); Log.v("ONMESSAGE", "in broadcast is " + username); } } } 

    Faccio quindi una dichiarazione di seguito nella class Fragment

    private newMessage messageReceiver = new newMessage();

    in onCreateView ho scritto la linea sottostante

     getActivity().registerReceiver(messageReceiver, new IntentFilter("NewMessage")); 

    Non ho annullato la logging del ricevitore di trasmissione e ho provato a farlo anche questo.

    quando ricevo un messaggio nel mio servizio, ho fatto una chiamata al codice sottostante.

      Intent i = new Intent("NewMessage"); i.putExtra("message", message); i.putExtra("from", from); context.sendBroadcast(i); 

    Non ho aggiunto i broadcats a manifestare la causa che non so come farlo quando scritto all'interno di una class.

    A volte, chiama il sendbroadcase e tutto funziona bene ma a volte non chiama e crea solo la notifica.

    Mi aiuti per favore.

  • Android Crea un'attività che galleggia a Lockscreen
  • Come faccio a gestire un button di back-button in un'applicazione Android (Delphi)?
  • Errore "Debito certificato scaduto" nei plugin Android Eclipse
  • Android MediaController intercetta tutti gli altri events touch
  • Come impostare le immagini dymaniche in ViewFlipper in android?
  • Come posso rilevare la versione di Android OS in Adobe AIR?
  • L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.