No se puede leer los datos del paquete de notificación de inserción de Parse

Estoy tratando de enviar datos personalizados usando el servicio de notificación de Parse push, pero al extraer del paquete siempre se devuelven valores nulos.

Receptor de emisión personalizado:

@Override public void onReceive(Context context, Intent intent) { Log.e("Receiver","Invoked"); Bundle bundle = intent.getExtras(); Intent contentIntent = new Intent(context, MainPage.class); String alertMsg = bundle.getString("heading"); //never get this value String urlString = bundle.getString("dataString"); //never get this value contentIntent.putExtra(EXTRA_URL, urlString); PendingIntent pendingIntent = PendingIntent.getActivity(context, NOTIFY_REQUEST_CODE, contentIntent, PendingIntent.FLAG_ONE_SHOT); showNotification(context, notificationId, alertMsg, pendingIntent); } 

Declaración de manifiesto:

  <receiver android:name=".receiver.NotificationReceiver" android:exported="false"> <intent-filter> <action android:name="link_notification"/> </intent-filter> </receiver> 

Y estoy enviando el siguiente JSON de analizar tablero:

 { "dataString": "objectId", "heading": "type", "action": "link_notification" } 

Cuando estoy registrando los datos del paquete soy capaz de ver el encabezado y dataString , pero no puedo acceder a él. El paquete siempre está devolviendo null.

¡Por favor ayuda! Gracias.

El JSON estará en cadena extra com.parse.Data .

 @Override public void onReceive(Context context, Intent intent) { Bundle extras = intent.getExtras(); String jsonData = extras.getString("com.parse.Data"); JSONObject jsonObject; try { jsonObject = new JSONObject(jsonData); String heading = jsonObject.getString("heading"); String dataString = jsonObject.getString("dataString"); } catch (JSONException e) { e.printStackTrace(); } } 

Bueno, ahora lo entiendo. Para obtener tu Json String, necesitas hacer esto:

 public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub Bundle extra = intent.getExtras(); String json = extra.getString("com.parse.Data"); } 

Esto se debe a que los datos del paquete contienen el objeto json como cadena recuperable con la clave que puede comprobar en el análisis. Sólo entonces usted tiene que analizar esta cadena con gson por ejemplo para obtener objetos Java.

  • Notificaciones push de Android con XMPP
  • Reaccionar notificación de empuje nativo para Android
  • Programación de Android: GCMIntentService Stuck at WakeLock
  • Cómo abrir la actividad actual que está abierta mientras hace clic en la notificación
  • La notificación de Parse Push no funciona en android
  • Alerta de visualización cuando llega el empuje
  • Cómo obtener RegistrationID usando GCM en android
  • Enviar notificación automáticamente desde Firebase
  • Cordova Push Plugin: onNotificationGMC no se activa y no se puede obtener regID
  • Servlet: java.lang.ClassNotFoundException: org.json.simple.parser.ParseException
  • Cómo utilizar con eficacia XMPP persistente con android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.