Cómo puedo recibir notificaciones de GCM cuando se detiene la aplicación

GCMIntentService (extends GCMBaseIntentService) no recibe notificaciones si la aplicación no se está ejecutando.

De: http://developer.android.com/about/versions/android-3.1.html

Iniciar controles en aplicaciones detenidas Tenga en cuenta que el sistema agrega FLAG_EXCLUDE_STOPPED_PACKAGES a todas las intenciones de difusión. Esto lo hace para evitar que las emisiones de los servicios de fondo inicien inadvertidamente o innecesariamente el lanzamiento de componentes de aplicaciones detenidas. Un servicio o una aplicación de fondo puede anular este comportamiento agregando el indicador FLAG_INCLUDE_STOPPED_PACKAGES a las intenciones de difusión que deberían permitir activar las aplicaciones detenidas.

¿Hay una manera de evitar este entorno? Gracias

2 Solutions collect form web for “Cómo puedo recibir notificaciones de GCM cuando se detiene la aplicación”

GCMIntentService (extends GCMBaseIntentService) no recibe notificaciones si la aplicación no se está ejecutando.

Sí, lo hará. El resto de su pregunta, sin embargo, tiene poco que ver con si la aplicación se está ejecutando , sino más bien si ha sido ejecutada por el usuario antes. Lo que la palabra "detenido" significa en el párrafo que cita no es "no se está ejecutando", sino que representa un estado en el que se encuentra una aplicación:

  • Cuando se instala por primera vez, antes de que algo invoque manualmente un componente (por ejemplo, el usuario inicia una actividad)

  • Después de que la fuerza del usuario detenga la aplicación, hasta que algo invoque manualmente un componente (por ejemplo, el usuario inicia una actividad)

(Y realmente me gustaría que hubiera llegado con un adjetivo más distintivo de "parado" para esto …)

¿Hay una manera de evitar este entorno?

No. Si el usuario obliga a detener su aplicación, indica que no desea que su aplicación se ejecute de nuevo, por ningún motivo, hasta que vuelva a iniciarla manualmente. Su objetivo es no darle al usuario ninguna razón para detener la aplicación. Tenga en cuenta que no me refiero a "fuerza de parada" (es decir, presione el botón "Forzar Stop" de Configuración) – los administradores de tareas ordinarias, o pasar de la lista Tareas recientes en Android 4.x, no tiene este efecto.

Según Francesco Nerieri en este hilo de android-gcm :

Por lo tanto, si obliga a detener la aplicación, el comportamiento previsto para ICS es que la aplicación no reciba el mensaje. En JB esto significa que GCM también cancelará el registro de la aplicación, este es un comportamiento desafortunado y estamos trabajando para cambiar esto (la parte de cancelar el registro en JB).

  • ID de registro canónico y formato ID de mensaje
  • PARSE: Notificaciones push "deviceToken" undefined
  • ¿Qué puerto y protocolo utiliza Google Cloud Messaging (GCM)?
  • El emulador de Android no recibe notificaciones push
  • Android push notificación cómo reproducir el sonido predeterminado
  • Animación en la barra de notificaciones Vista personalizada
  • Desactivar el registro de Android Azure Notification
  • ¿Debo solicitar un nuevo token cada vez que lance mi aplicación para Android?
  • Notificaciones de Firebase en primer plano
  • GCM de Android (notificación push): el dispositivo no recibe notificación si se detiene la aplicación
  • GCM Cloud Connection Server - cómo empezar a usarlo?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.