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:
- Mostrar varias líneas en la notificación push android Phonegap
- ¿Pueden dos dispositivos diferentes tener el mismo ID de registro de GCM?
- ID de registro canónico y formato ID de mensaje
- ¿Cómo implementar funcionalidades como Facebook "New Story" característica?
- Cómo implementar XMPP para enviar notificaciones push
@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.
- Implementación de GCM con PHP siempre enfrentando error no autorizado 401
- ¿Es posible usar GCM para enviar notificaciones push entre diferentes aplicaciones?
- Mensaje de error de PHP GCM MismatchSenderId
- ¿Cómo obtener una notificación interactiva push con Urban Airship en Android?
- Phonegap PushNotification para abrir una página de aplicación específica
- Número máximo de temas en Google Cloud Messaging
- ¿Cómo analizar enviar push sin registro de gcm?
- Cómo capturar la aplicación de desinstalación en el dispositivo y dejar que el servidor sepa esto (iOS / Android)
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.
- Android EditText: ¿Cómo deshabilitar el movimiento del cursor al tocar?
- Error de mapa v2 de Android en el segundo inflado