Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Android 16 introduce notifiche incentrate sul progresso per aiutare gli utenti a monitorare senza problemi i percorsi end-to-end avviati dall'utente.
Notification.ProgressStyle è un nuovo stile di notifica che consente di creare notifiche incentrate sull'avanzamento. I casi d'uso principali includono condivisione di corse, consegna e navigazione. All'interno della classe Notification.ProgressStyle, puoi indicare gli stati e i traguardi di un percorso dell'utente utilizzando punti e segmenti.
Una notifica incentrata sull'avanzamento visualizzata nella schermata di blocco.
Una notifica incentrata sull'avanzamento visualizzata nell'area notifiche.
Classi e metodi pertinenti
Le seguenti classi contengono le diverse API utilizzate per creare una notificaProgressStyle:
Le app possono impostare un'immagine del veicolo per l'icona del tracker e utilizzare segmenti e punti per indicare l'esperienza di ridesharing e i traguardi.
Best practice
Attieniti alle seguenti best practice per offrire agli utenti la migliore esperienza possibile con le notifiche incentrate sul progresso:
Utilizza gli elementi visivi giusti per guidare l'utente nel suo percorso. Ad esempio, le app di ride sharing devono impostare un'immagine del veicolo e il colore più preciso del veicolo utilizzato in un'esperienza di ride sharing utilizzando Notification.setLargeIcon()
Utilizza un linguaggio conciso e chiaro per definire l'avanzamento del percorso dell'utente.
L'orario di arrivo, il nome del conducente e lo stato del viaggio sono testi fondamentali che devono essere comunicati nella notifica.
Fornisci azioni utili e pertinenti nella notification che contribuiranno a semplificare il percorso dell'utente. Ad esempio, fornire una mancia o aggiungere un altro piatto a un ordine appena avviato per la consegna di cibo sono elementi che possono essere eseguiti prima della consegna.
Utilizza segmenti e punti per indicare gli stati. Ad esempio, utilizza i segmenti per colorare uno stato e la durata del traffico in un viaggio in car sharing e utilizza i punti per gli stati relativi a traguardi, preparazione del cibo, consegna e ritiro dei passeggeri.
Aggiorna l'esperienza di avanzamento frequentemente e con precisione in modo che corrisponda alla progressione effettiva del percorso. Ad esempio, le condizioni di traffico che cambiano possono essere riflesse nelle modifiche dei colori dei segmenti e negli aggiornamenti del testo.
Il seguente snippet di codice mostra come una notifica ProgressStyle possa essere utilizzata per un contesto di ridesharing:
Tieni presente che nell'esempio è impostata un'immagine del veicolo per l'icona del tracker e vengono utilizzati segmenti e punti per indicare l'esperienza di ridesharing e i traguardi per offrire un'esperienza utente più completa.
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-27 UTC.
[null,null,["Ultimo aggiornamento 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."]]