Abra la actividad haciendo clic en la notificación push de Parse

Quiero recibir una notificación push de Parse y abrir una actividad de la lista y usar intention.putextra ("dataFromParse") antes de iniciar la actividad. Puedo recibir el empuje pero solo abrir MainActivity usando esto:

PushService.setDefaultPushCallback(this, MainActivity.class); ParseInstallation.getCurrentInstallation().saveInBackground(); 

Quiero tener esto como el valor predeterminado, pero también debería ser capaz de iniciar la actividad de la lista. También he intentado usar un receptor de cliente, pero entonces solamente puedo abrir directamente la actividad al recibir el empuje, no al chascarlo.

Manifest.xml:

 <receiver android:name="com.example.Push android:exported="false"> <intent-filter> <action android:name="com.example.UPDATE_STATUS" /> </intent-filter> </receiver> 

Push.java:

 public class Push extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { //Start activity } } 

Lo que no estoy seguro es cómo debo capturar el empuje en segundo plano y decir que debe abrir la actividad de la lista con la intención específica.putExtra ("dataFromParse") cuando el usuario hace clic en la notificación. ¿Dónde debo codificarlo y cómo? En MainActivity, en la actividad List, o hacer algo diferente con el receptor del cliente?

Resuelto, teniendo actividad predeterminada como MainActivity, pero comprobando la intención, y si hay algo en "com.parse.Data" voy a iniciar una nueva intención.

 Intent intent = getIntent(); Bundle extras = intent.getExtras(); String jsonData = extras.getString("com.parse.Data"); JSONObject json = new JSONObject(jsonData); String pushStore = json.getString("data"); if(pushStore!=null) { Intent pushIntent = new Intent(); pushIntent.setClassName(MainActivity.this, "package.name.List"); pushIntent.putExtra("store", pushStore); startActivity(pushIntent); } 

Entonces simplemente envíe un push con json: {"alert": "Test", "data": "store1"}

@arvindwill Espero que esto ayude.

Prueba esto … funciona perfectamente ….

 try { Intent intent = getIntent(); Bundle extras = intent.getExtras(); if (extras != null) { String jsonData = extras.getString("com.parse.Data"); JSONObject json; json = new JSONObject(jsonData); String pushStore = json.getString("alert"); data.setText(pushStore); } } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } 

Según la documentación oficial de Parse en https://www.parse.com/docs/android/guide#push-notifications-customizing-notifications :

Si su empuje no tiene un parámetro "uri", onPushOpen invocará la actividad del lanzador de su aplicación.

Por lo tanto, la respuesta aceptada actual sólo tiene en cuenta el caso en que su empuje no tiene "uri" y abre su MainActivity. Si desea abrir una Actividad concreta, puede definir un intent-filter de intent-filter para esa Actividad y enviar ese uri de filtro de intenciones en su empuje.

Debe anular el método onPushOpen (…) en su clase de receptor:

 import com.parse.ParsePushBroadcastReceiver; public class PushIntentReceiver extends ParsePushBroadcastReceiver { @Override protected void onPushOpen(Context context, Intent intent) { JSONObject pushData = null; try { pushData = new JSONObject(intent.getStringExtra(KEY_PUSH_DATA)); Intent pushIntent = new Intent(context, YourActivity.class); pushIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); pushIntent.putExtra("store", pushData.getString("data")); context.startActivity(pushIntent); } catch (JSONException e) { e.printStackTrace(); } } } 
  • Codificación de mensajes push de GCM
  • Notificaciones de la barra de estado de Android - Intención de obtener los extras antiguos por segunda vez
  • Gestionar notificaciones múltiples / apilar notificaciones desde GCM
  • Parse Push - Cómo abrir automáticamente una actividad sin la acción del usuario al recibir un empujón en Android
  • Programación de Android: GCMIntentService Stuck at WakeLock
  • Android: adb: copia el archivo a / system (Permiso denegado)
  • Error al empujar el elemento (s). En android
  • Anular el registro del cliente android desde el servidor de empuje unificado aerogear
  • MQTT Eclipse Paho cliente en Android, desconectar se bloquea y nunca termina
  • ¿Cómo crear una Notificación Push automática para mi propia aplicación?
  • ¿Son confiables las notificaciones push de Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.