Sono in grado di ricevere messaggi C2DM bene ma voglio inviare i dati a un'attività in esecuzione, cioè quando l'attività è in esecuzione, se il ricevitore riceve il messaggio C2DM è per inviare i dati all'attività in esecuzione. Il codice del ricevitore è (nessun bug nel codice):Come inviare dati a un'attività in esecuzione da Broadcast Receiver,
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);
}
}}
che ho provato in questo modo all'interno l'attività nel tentativo di registrare il ricevitore in attività, in modo che il ricevitore può inviare i dati e l'attività in esecuzione può ricevere i dati: -
C2dmreceiver c2dmr = new C2dmreceiver();
Registration.this.registerReceiver(c2dmr, new IntentFilter());
non so cosa mettere dentro l'IntentFilter(), anche cos'altro devo mettere nel codice dell'attività e il codice del ricevitore in modo che mentre l'attività è in esecuzione e alcuni messaggi C2DM arrivano, il ricevitore può inviare i dati all'attività in esecuzione.
Quindi, per favore dimmi il codice che deve essere inserito nell'attività e nel ricevitore e potrebbe anche essere nel manifest in modo che i dati dal destinatario possano essere inviati all'attività in esecuzione.
Qualsiasi consiglio è molto apprezzato.
ho bisogno della mia attività di ottenere i dati C2DM dal ricevitore e anche essere notificata l'arrivo dei dati, come si può fare? Voglio solo sapere come si registra l'attività su un particolare ricevitore broadcast e ricevere gli aggiornamenti non appena vengono ricevuti dal ricevitore. –
Non dovresti registrare C2DMReceiver in Attività - perché i messaggi possono arrivare quando l'attività non è iniziata - devi allenare questo messaggio. Per il passaggio di dati è possibile utilizzare campi statici o singleton. – Jin35
Si prega di fornire un'implementazione di esempio. –