Come submit i dati ad un'attività in esecuzione da Broadcast Receiver,

Posso ricevere il messaggio C2DM bene, ma voglio submit i dati ad un'attività in esecuzione, cioè quando l'attività è in esecuzione, se il destinatario riceve il messaggio C2DM è quello di submit i dati all'attività in esecuzione. Il codice del ricevitore è (nessun bug nel codice):

public class C2dmreceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); Log.w("C2DM", "Message Receiver called"); if ("com.google.android.c2dm.intent.RECEIVE".equals(action)) { final String payload = intent.getStringExtra("key1"); Log.d("C2DM", "message = " + payload ); } }} 

Ho provato come questo all'interno dell'attività nel tentativo di registrare il ricevitore nell'attività in modo che il ricevitore possa submit dati e l'attività in esecuzione può ricevere i dati:

  • Android + Zip4j-1.3.1 jar lancia VerifyError
  • Come get l'indirizzo completo dalla latitudine e dalla longitudine?
  • Android - Dimensione icona di avvio
  • SDK Manager.exe non funziona
  • Formato personalizzato modifica l'input di text android per accettare il numero della carta di credito
  • Errore: motore di virtualizzazione genymotion non trovato
  •  C2dmreceiver c2dmr = new C2dmreceiver(); Registration.this.registerReceiver(c2dmr, new IntentFilter()); 

    Non so cosa mettere dentro l'IntentFilter (), altrimenti dovrei inserire il codice dell'attività e il codice del ricevitore in modo che mentre l'attività sia in esecuzione e un messaggio C2DM arrivi il ricevitore può submit dati all'attività in esecuzione.

    Quindi, dimmi il codice che vuoi mettere nell'attività e nel ricevitore e può anche essere nel manifesto in modo che i dati del ricevitore possano essere inviati all'attività in esecuzione.

    Qualsiasi consiglio è altamente apprezzato.

  • App Android si blocca su Samsung Galaxy S3 (errore di memory fuori)
  • conversione di bitmap Java in byte arrays
  • Mapfragment findFragmentById sempre null
  • Attività Android senza GUI
  • C'è una compilazione di bug specifici per i dispositivi Android?
  • Le integrazioni di Flurry con Android App forniscono un errore "Imansible trovare la class com.flurry.sdk.i", indicata dal metodo com.flurry.sdk.hu.a "
  • One Solution collect form web for “Come submit i dati ad un'attività in esecuzione da Broadcast Receiver,”

    Prima di tutto non è l'idea migliore di sottoscrivere il ricevitore c2dm in attività. Fai in modo manifesto. Per il passaggio di dati in attività è ansible creare un field di string statico in Attività e impostare la string.

    Puoi fare qualcosa di simile:

    in Activity

     public static YourActivity mThis = null; @Override protected void onResume() { super.onResume(); mThis = this; } @Override protected void onPause() { super.onPause(); mThis = null; } 

    Nel tuo BroadcastReceiver :

     @Override public void onReceive(Context context, Intent intent) { ... if (YourActivity.mThis != null) { ((TextView)YourActivity.mThis.findViewById(R.id.text)).setText("received c2dm"); } else { ... } 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.