Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Android 16 presenta notificaciones centradas en el progreso para ayudar a los usuarios a hacer un seguimiento sin problemas de los recorridos de principio a fin que inician.
Notification.ProgressStyle es un nuevo estilo de notificación que te permite crear notificaciones centradas en el progreso. Entre los casos de uso clave, se incluyen el transporte privado con conductor, la entrega y la navegación. Dentro de la clase Notification.ProgressStyle, puedes denotar estados y eventos importantes en el recorrido del usuario con
puntos y segmentos.
Notificación centrada en el progreso que se muestra en la pantalla de bloqueo.
Una notificación centrada en el progreso que se muestra en la pantalla de notificaciones.
Clases y métodos relevantes
Las siguientes clases contienen las diferentes APIs que usas para crear una
notificación de ProgressStyle:
Las apps pueden establecer una imagen de vehículo para el ícono del dispositivo de rastreo y usar segmentos y puntos para indicar la experiencia de transporte privado con conductor y los eventos importantes.
Prácticas recomendadas
Sigue estas prácticas recomendadas para proporcionar la mejor experiencia del usuario posible con notificaciones centradas en el progreso:
Usa los elementos visuales adecuados para guiar al usuario en su recorrido. Por ejemplo, las apps de transporte privado con conductor deben establecer una imagen del vehículo y el color más preciso del vehículo que se usa en una experiencia de transporte privado con conductor con Notification.setLargeIcon().
Usa un lenguaje conciso y claro para definir el progreso de ese recorrido del usuario.
La hora de llegada, el nombre del conductor y el estado del viaje son textos fundamentales que se deben comunicar en la notificación.
Proporciona acciones útiles y relevantes en la notificación que ayuden a optimizar el recorrido del usuario. Por ejemplo, proporcionar una propina o agregar un plato adicional a un pedido de entrega de comida iniciado recientemente son acciones que se pueden realizar antes de la entrega.
Usa segmentos y puntos para indicar estados. Por ejemplo, usa segmentos para colorear un estado y la duración del tráfico en un viaje de transporte privado con conductor, y usa puntos para los estados de eventos importantes, preparación de alimentos, entrega y partida de pasajeros.
Actualiza la experiencia de progreso con frecuencia y precisión para que coincida con el progreso real del viaje. Por ejemplo,
las condiciones de tráfico que cambian pueden reflejarse en cambios en los colores de los segmentos
y en las actualizaciones de texto.
En el siguiente fragmento de código, se muestra cómo se podría usar una notificación ProgressStyle para un contexto de viaje compartido:
Ten en cuenta que, en el ejemplo, se establece una imagen de vehículo para el ícono del dispositivo de rastreo, y se usan segmentos y puntos para indicar la experiencia de viaje compartido y los eventos importantes para brindar una experiencia del usuario más completa.
Consulta la app de ejemplo para obtener más información.
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-07-27 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-07-27 (UTC)"],[],[],null,["# Progress-centric notifications\n\nAndroid 16 introduces progress-centric notifications to help users seamlessly\ntrack user-initiated, start-to-end journeys.\n\n[`Notification.ProgressStyle`](/reference/android/app/Notification.ProgressStyle) is a new notification\nstyle that lets you create progress-centric notifications. Key use cases include\nrideshare, delivery, and navigation. Within the `Notification.ProgressStyle`\nclass, you can denote states and milestones in a user journey using\n[points](/reference/android/app/Notification.ProgressStyle.Point) and [segments](/reference/android/app/Notification.ProgressStyle.Segment). \nA progress-centric notification displayed on the lockscreen. \nA progress-centric notification displayed in the notification shade.\n\n#### Relevant classes and methods\n\nThe following classes contain the different APIs that you use to construct a\n`ProgressStyle` notification:\n\n- [`Notification.ProgressStyle`](/reference/android/app/Notification.ProgressStyle)\n- [`Notification.ProgressStyle.Point`](/reference/android/app/Notification.ProgressStyle.Point)\n- [`Notification.ProgressStyle.Segment`](/reference/android/app/Notification.ProgressStyle.Segment)\n\n#### Anatomy and customization\n\nThe following images show the different parts that make up `ProgressStyle`\nnotifications:\n\nThe following images show the different parts that make up `ProgressStyle`\nnotifications:\n\n|---------------------|---------------------------------------------------------------------------------------------------------------------------------|\n| A. Header - Subtext | [`Notification.Builder.setSubText()`](/reference/android/app/Notification.Builder#setSubText(java.lang.CharSequence)) |\n| B. Header - Time | [`Notification.Builder.setWhen()`](/reference/androidx/core/app/NotificationCompat.Builder#setWhen(long)) |\n| C. Content Title | [`Notification.Builder.setContentTitle()`](/reference/android/app/Notification.Builder#setContentTitle(java.lang.CharSequence)) |\n| D. Content Text | [`Notification.Builder.setContentText()`](/reference/android/app/Notification.Builder#setContentText(java.lang.CharSequence)) |\n| E. Progress bar | [`Notification.ProgressStyle`](/reference/android/app/Notification.ProgressStyle) |\n| F. Action button | [`Notification.Builder.addAction()`](/reference/android/app/Notification.Builder#addAction(android.app.Notification.Action)) |\n\nApps can set a vehicle image for the tracker icon and use segments and points to denote the rideshare experience and milestones.\n\n### Best practices\n\nAdhere to the following best practices to help provide the best possible user\nexperience with progress-centric notifications:\n\n- Ensure the right fields are set to meet [promoted\n visibility](/develop/ui/views/notifications#promoted-visibility).\n- Use the right visual elements to guide the user in their journey. For example, rideshare apps should set a vehicle image and the most accurate color of the vehicle being used in a rideshare experience using [`Notification.setLargeIcon()`](/reference/androidx/core/app/NotificationCompat.Builder#setLargeIcon(android.graphics.drawable.Icon))\n- Use concise and clear language to define the progress of that user journey. Time of arrival, driver name, and state of journey are critical text that should be communicated in the notification.\n- Provide useful and relevant [actions](/reference/android/app/Notification.Builder#addAction(android.app.Notification.Action)) in the notification that will help streamline the user journey. For example, providing a tip or adding an additional dish to a newly-initiated order for food delivery are actionable items prior to its delivery.\n- Use [segments](/reference/android/app/Notification.ProgressStyle.Segment) and [points](/reference/android/app/Notification.ProgressStyle.Point) to denote states. For example, use segments to colorize a state and duration of traffic in a rideshare journey, and use points for states for milestones, food preparation, delivery, and passenger pick-up.\n- [Update the progress experience](/develop/ui/views/notifications/build-notification#Updating) frequently and accurately to match the actual progression of the journey. For example, traffic conditions that change can be reflected in changes in segment colors and updates in text.\n\nThe following code snippet shows how a `ProgressStyle` notification could be\nused for a rideshare context: \n\n var ps =\n Notification.ProgressStyle()\n .setStyledByProgress(false)\n .setProgress(456)\n .setProgressTrackerIcon(Icon.createWithResource(appContext, R.drawable.ic_car_red))\n .setProgressSegments(\n listOf(\n Notification.ProgressStyle.Segment(41).setColor(Color.BLACK),\n Notification.ProgressStyle.Segment(552).setColor(Color.YELLOW),\n Notification.ProgressStyle.Segment(253).setColor(Color.WHITE),\n Notification.ProgressStyle.Segment(94).setColor(Color.BLUE)\n )\n )\n .setProgressPoints(\n listOf(\n Notification.ProgressStyle.Point(60).setColor(Color.RED),\n Notification.ProgressStyle.Point(560).setColor(Color.GREEN)\n )\n )\n\nNote that in the example, a vehicle image is set for the tracker icon, and\nsegments and points are used to denote the rideshare experience and milestones\nto provide a more complete user experience.\n\nCheck out the [sample app](https://github.com/android/platform-samples/tree/main/samples/user-interface/live-updates) for more information."]]