Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Puede usar PendingUpdate para crear interacciones de varios pasos en las notificaciones emergentes. Por ejemplo, como se muestra a continuación, puede crear una serie de notificaciones en las que las notificaciones posteriores dependen de las respuestas de las notificaciones anteriores.
Important
requiere la Actualización para Creadores de Otoño de Windows 10 y la versión 2.0.0 de la biblioteca de Notificaciones: deberías estar ejecutando la compilación de escritorio 16299 o una versión posterior para ver las actualizaciones pendientes. Debes usar la versión 2.0.0 o posterior de la biblioteca NuGet Notificaciones del kit de herramientas de la comunidad de UWP para asignar PendingUpdate en tus botones. PendingUpdate solo se admite en escritorio y se omitirá en otros dispositivos.
Prerequisites
En este artículo se da por supuesto un conocimiento práctico de...
- Construyendo contenido de notificaciones
- Enviar un mensaje emergente y gestionar la activación en segundo plano
Overview
Para implementar una notificación tipo "toast" que utiliza la actualización pendiente como su comportamiento posterior a la activación...
En los botones de activación en segundo plano del sistema, especifique un AfterActivationBehavior de PendingUpdate
Asignar una etiqueta (y opcionalmente el grupo ) al enviar tu notificación emergente
Cuando el usuario hace clic en tu botón, se activará tu tarea en segundo plano y el toast se mantendrá en pantalla en un estado de actualización pendiente.
En la tarea en segundo plano, envíe una nueva notificación del sistema con el nuevo contenido, con el mismo etiqueta y Group
Assign PendingUpdate
En los botones de activación en segundo plano, establezca el AfterActivationBehavior en PendingUpdate. Tenga en cuenta que esto solo funciona para los botones que tienen un ActivationType de background.
new ToastContentBuilder()
.AddText("Would you like to order lunch today?")
.AddButton(new ToastButton("Yes", "action=orderLunch")
{
ActivationType = ToastActivationType.Background,
ActivationOptions = new ToastActivationOptions()
{
AfterActivationBehavior = ToastAfterActivationBehavior.PendingUpdate
}
});
Usar una etiqueta en la notificación
Para reemplazar posteriormente la notificación, tenemos que asignar la etiqueta (y, opcionalmente, el grupo ) a la notificación.
// Create the notification
var notif = new ToastNotification(content.GetXml())
{
Tag = "lunch"
};
// And show it
ToastNotificationManager.CreateToastNotifier().Show(notif);
Reemplazar el mensaje por nuevo contenido
En respuesta a que el usuario haga clic en su botón, se activa la tarea en segundo plano y necesita reemplazar la notificación emergente por contenido nuevo. Reemplace el toast simplemente enviando un nuevo toast con la misma etiqueta y grupo.
Se recomienda encarecidamente establecer el audio en silencio cuando se reemplace en respuesta a un clic de botón, ya que el usuario ya está interactuando con su notificación emergente.
// Generate new content
ToastContent content = new ToastContent()
{
...
// We disable audio on all subsequent toasts since they appear right after the user
// clicked something, so the user's attention is already captured
Audio = new ToastAudio() { Silent = true }
};
// Create the new notification
var notif = new ToastNotification(content.GetXml())
{
Tag = "lunch"
};
// And replace the old one with this one
ToastNotificationManager.CreateToastNotifier().Show(notif);