Paquete de análisis desde la notificación de android push

Estoy usando GCM para enviar la notificación al móvil usando este ejemplo y la notificación es empujada. Pero no pude analizar el paquete recibido de la intención. Este es el paquete que recibí del Bundle[{message={"valid":"bbb","deal":"its working","address":"some","name":"aaa"}, android.support.content.wakelockid=1, collapse_key=do_not_collapse, from=198162727742}] registro. Bundle[{message={"valid":"bbb","deal":"its working","address":"some","name":"aaa"}, android.support.content.wakelockid=1, collapse_key=do_not_collapse, from=198162727742}] . Y lo convertí en cadena y luego trató de convertir a json objeto utilizando este código json = new JSONObject(message); Pero no hay suerte. Puede alguien decir lo que estoy haciendo mal aquí. gracias por adelantado

En el método que recibió la intención de hacer esto:

 protected void onMessage(Context context, Intent intent) { //log the message in JSON format Log.i(TAG, "Received message >> " + intent.getExtras().toString()); //Retrieve message and extra String message = intent.getExtras().getString("message"); } 

El objeto JSON real es el siguiente:

 {"valid":"bbb","deal":"its working","address":"some","name":"aaa"} 

El resto no es en realidad JSON.

Trate de analizar sólo esta línea, y funcionará =)

Asi que:

 json = new JSONObject( bundle.getString("message") ); 

Debe utilizar las funciones integradas del Bundle para obtener datos ( getString por ejemplo). Pruebe el siguiente código:

 String jsonStr = bundle.getString("message"); json = new JSONObject(jsonStr); 

Tienes que tomar el valor JSON contra la tecla "mensaje" y convertirlo en cadena

prueba esto…

 ...... @Override protected void onHandleIntent(Intent intent) { Bundle extras = intent.getExtras(); GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(this); String messageType = gcm.getMessageType(intent); if (!extras.isEmpty()) { if (GoogleCloudMessaging.MESSAGE_TYPE_SEND_ERROR .equals(messageType)) { sendNotification("Send error: " + extras.toString()); } else if (GoogleCloudMessaging.MESSAGE_TYPE_DELETED .equals(messageType)) { sendNotification("Deleted messages on server: " + extras.toString()); } else if (GoogleCloudMessaging.MESSAGE_TYPE_MESSAGE .equals(messageType)) { Log.i("Notification", "Completed work @ " + SystemClock.elapsedRealtime()); Log.d(CabChainGlobal.APPTAG, "Message received: " + extras.toString()); sendNotification("" + extras.get("message")); Log.i("Notification Received", "Received: " + extras.toString()); } } GcmBroadcastReceiver.completeWakefulIntent(intent); } 

…..

  • ¿Cuál debería ser el nombre del paquete de la aplicación Android?
  • Cómo pasar un valor de un fragmento a otro en Android?
  • Pasar la lista personalizada de datos mediante el paquete
  • ¿Qué es diferente de putSerializable y putParcelable en Java?
  • com.android.support:appcompat-v7 y versión de diseño 23.2.0 error de paquete de bloqueo
  • Mostrar mensaje después de instalar el paquete
  • deshabilitar el paquete que instala mediante programación
  • Mono hizo que mi aplicación meow
  • Android: Cambiar el nombre del paquete en Eclipse
  • Instale el paquete: 'Android Support Library'
  • ¿Qué significa 'ICU' en Android SDK?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.