Parse Push – Cómo abrir automáticamente una actividad sin la acción del usuario al recibir un empujón en Android

Tengo un requisito (android) donde mi aplicación debe ejecutar su actividad principal automáticamente cuando se recibe una notificación push sin que el usuario haga clic en la notificación en la bandeja del sistema. Tengo un mapa donde muestra la ubicación actual, pero en el empuje, voy a recibir una ubicación, y necesito mi mapa en la actividad principal para mover la cámara a la ubicación recibida en el momento de recibir el empuje, y alertar al usuario con Un sonido personalizado. Todo esto debe suceder sin que el usuario haga clic en nada. Ayuda de Pls. Gracias por adelantado.

Si es posible. La documentación de Parse.com dice:

También puede especificar un intento de disparar en segundo plano cuando se reciba la notificación de inserción. Esto permitirá que su aplicación realice un tratamiento personalizado para la notificación y puede utilizarse independientemente de si ha elegido mostrar un mensaje de la bandeja del sistema. Para implementar la gestión de notificaciones personalizadas, establezca la entrada Acción en su diccionario de datos de notificación push en la acción de intención que desea activar. Las directrices de Android sugieren que prefija la acción con su nombre de paquete para evitar colisiones de espacio de nombres con otras aplicaciones en ejecución.

Así que envía notificaciones push de esta manera:

JSONObject data = new JSONObject("{\"action\": \"com.example.UPDATE_STATUS\""})); ParsePush push = new ParsePush(); push.setData(data); push.sendPushInBackground(); 

A continuación, en su AndroidManifest.xml registre un receptor de difusión que se llamará cada vez que se reciba una notificación push con un parámetro de acción de com.example.UPDATE_STATUS:

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

En su receptor de emisión puede iniciar una nueva actividad:

 public class MyBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { context.startActivity(new Intent(context, MyActivity.class)); } } 

Advertencia a @makovkastar, cambios importantes desde la versión V1.8. Por ejemplo: no más com.example.UPDATE_STATUS.

La guía de notificaciones push está más clara ahora: https://www.parse.com/tutorials/android-push-notifications

Esta es la subclase ParsePushBroadcastReceiver: https://gist.github.com/panchicore/97d5ad25842258576109 esta respuesta tiene un buen tutorial para enviar / recibir emisiones locales: https://stackoverflow.com/a/8875292/155293

Básicamente onPushReceive se llamará cuando se recibe un empuje en el dispositivo, en este método use LocalBroadcastManager para hacer algo en la aplicación, por ejemplo, agregar un nuevo mensaje a una sala de chat.

  • Un servidor que envía notificaciones push a dispositivos Android e iOS
  • La aplicación se bloquea si la aplicación se cierra mediante el servicio Push: parse.com
  • ¿Está com.google.android.c2dm.intent.RECEIVE todavía en uso?
  • La intención del receptor de mensajes de la nube de Google no se inicia (devolución de llamada de intención de difusión: resultado = CANCELADO paraIntención)
  • ¿Las notificaciones no siempre se reciben por teléfono?
  • Enviar notificaciones push a la aplicación en una configuración limitada - fake_push_profile not found Ionic
  • No se pueden recibir mensajes con Google Cloud Messaging para Android (no la biblioteca de ayuda)
  • Notificación de la mensajería en la nube de Firebase Vibración
  • Analizar notificaciones push en Android
  • Spring pedalea cliente web sockets para android
  • No se puede iniciar la aplicación de receptor com.parse.ParseBroadcastReceiver en Trigger.io
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.