¿Por qué utilizamos TaskStackBuilder?

¿Por qué utilizamos TaskStackBuilder al crear una notificación? No entiendo la lógica.

¿Puede alguien explicar por favor.

 public void showText(final String text){ Intent intent = new Intent (this, MainActivity.class); TaskStackBuilder stackBuilder = TaskStackBuilder.create(this); stackBuilder.addParentStack(MainActivity.class); stackBuilder.addNextIntent(intent); PendingIntent pendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT); Notification notification = new Notification.Builder(this) .setSmallIcon(R.mipmap.ic_launcher) .setContentTitle(getString(R.string.app_name)) .setAutoCancel(true) .setPriority(Notification.PRIORITY_MAX) .setDefaults(Notification.DEFAULT_VIBRATE) .setContentIntent(pendingIntent) .setContentText(text) .build(); NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); notificationManager.notify(NOTIFICACTION_ID, notification); } 

Suponga que tiene una aplicación de envío de correo electrónico y tiene dos actividades en ella. Uno es MainActivty que tiene la lista de correo electrónico y otro es para mostrar un correo electrónico (EmailViewActivity). Así que ahora, cuando reciba un nuevo correo electrónico, mostrará una notificación en la barra de estado. Y ahora quieres ver ese correo electrónico cuando un usuario hace clic en él y también después de mostrar el correo electrónico si el usuario hace clic en el botón que desea mostrar la actividad de la lista de correo electrónico (MainActivity). Para este escenario podemos utilizar TaskStackBuilder. Vea abajo el ejemplo:

 public void showEmail(final String text){ Intent intent = new Intent (this, MainActivity.class); TaskStackBuilder stackBuilder = TaskStackBuilder.create(this); stackBuilder.addParentStack(MainActivity.class); stackBuilder.addNextIntent(intent); Intent intentEmailView = new Intent (this, EmailViewActivity.class); intentEmailView.putExtra("EmailId","you can Pass emailId here"); stackBuilder.addNextIntent(intentEmailView); PendingIntent pendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT); Notification notification = new Notification.Builder(this) .setSmallIcon(R.mipmap.ic_launcher) .setContentTitle(getString(R.string.app_name)) .setAutoCancel(true) .setPriority(Notification.PRIORITY_MAX) .setDefaults(Notification.DEFAULT_VIBRATE) .setContentIntent(pendingIntent) .setContentText(text) .build(); NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); notificationManager.notify(NOTIFICACTION_ID, notification); } 

Espero que puedas entenderlo.

Siga las urls abajo para más detalles: http://developer.android.com/reference/android/support/v4/app/TaskStackBuilder.html http://developer.android.com/guide/components/tasks-and-back- Stack.html http://www.programcreek.com/java-api-examples/index.php?api=android.app.TaskStackBuilder

Utilizamos TaskStackBuilder para asegurarnos de que el botón Atrás reproducirá bien cuando se inicie la actividad. El TaskStackBuilder permite acceder al historial de actividades utilizado por el botón Atrás .

  • ¿Cómo actualizar la notificación con RemoteViews?
  • ¿Es posible configurar la notificación ampliada como predeterminada en las notificaciones de texto grande?
  • ¿Se requiere setContentIntent (PendingIntent) en NotificationCompat.Builder?
  • Cómo poner un oyente onclick dentro de un servicio
  • Método de llamada de Android en la notificación haga clic
  • ¿Cómo encuestar un webservice en el intervalo finito de androide?
  • Cómo comprobar si mi aplicación tiene permiso para mostrar la notificación
  • Añadir acción de botón en la notificación personalizada
  • Android: la bandera de tareas no funciona para PendingIntent
  • NotificationManager.cancel () no funciona para mí
  • Cómo cancelar la notificación de inesperado / forzar la terminación de la aplicación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.