La Notificación de Android reinicia la aplicación pero desea continuar

Hola, he podido obtener una notificación para mi actividad, y cuando el usuario hace clic en la notificación, la aplicación se reinicia. Sin embargo, sólo quiero que vuelva a aparecer no reiniciar. p.ej. Es una aplicación web y quiero que vaya a la parte delantera cuando el usuario selecciona la notificación … pero no actualizar la página web. ¿Puedo atrapar esta intención o estoy enviando la intención equivocada? Normalmente, si presiono el botón de inicio y haga clic en el icono de la aplicación, la aplicación aparece en primer plano y no se actualiza / reinicia. Así que este es el comportamiento que quiero. Algunas ideas ?

String ns = Context.NOTIFICATION_SERVICE; NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns); //2.Instantiate the Notification int icon = R.drawable.notification_icon; CharSequence tickerText = "My App"; // temp msg on status line long when = System.currentTimeMillis(); Notification notification = new Notification(icon, tickerText, when); notification.flags |= Notification.FLAG_ONGOING_EVENT; //3.Define the Notification's expanded message and Intent: Context context = getApplicationContext(); CharSequence contentTitle = "Notification"; CharSequence contentText = "My app!"; // message to user Intent notificationIntent = new Intent(this, HelloAndroid2.class); PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent); //4.Pass the Notification to the NotificationManager: final int NOTIFICATION_ICON_ID = 1; mNotificationManager.notify(NOTIFICATION_ICON_ID, notification); 

Pongo esto en manifiesto

 android:launchMode="singleInstance" 

Esto arregló el problema para mí. También esta respuesta que no he intentado que alude a otras cosas de interés.

Si tiene que evitar establecer su actividad en "singleInstance", establezca la intención de la notificación de la siguiente manera:

 notificationIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); 

Puede probar este FLAG_ACTIVITY_REORDER_TO_FRONT (el documento describe exactamente lo que desea)

http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_REORDER_TO_FRONT

 Intent notificationIntent = new Intent(this, HelloAndroid2.class); notificationIntent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); 

Recomendaría para establecer la bandera Intent.FLAG_ACTIVITY_SINGLE_TOP para esta situación en particular, si se utiliza android: launchMode = "singleInstance" que afectaría el comportamiento cuando se llama a otras intenciones en su aplicación, el ejemplo de facebook sdk, paypal sdk etc.

La explicación es simple aquí: link

  • Android gran icono de notificación, hay una manera de eliminar el icono más pequeño en la parte inferior derecha?
  • ¿Cómo usar el estilo de notificación predeterminado?
  • Uso de elementos personalizados en una Notificación de Android
  • Android: Cómo distinguir CLEAR todos los eventos de la barra de notificaciones de la acción del usuario
  • Notificación de barra de estado de Android: haz que no se pueda borrar y vuelve a la aplicación (no inicia una nueva instancia)
  • ¿Cómo enviar notificaciones a usuarios específicos con FCM?
  • Implementación de Snooze en notificaciones de Android
  • Creación de una notificación de insignia similar a la del iPhone en Android
  • Android: crea una notificación, TaskStackBuilder.addParentStack no funciona
  • Notificación de estilo InboxStyle
  • Pin Notificación a la parte superior del área de notificación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.