Inicio rápido: Envío de una notificación del sistema desde el escritorio
En este inicio rápido se muestra cómo generar una notificación del sistema desde una aplicación de escritorio.
Requisitos previos
- Bibliotecas
- C++: Runtime.object.lib
- C#: Windows.Winmd
- Debe instalarse un acceso directo a la aplicación, con un System.AppUserModel.ID, en la pantalla Inicio. Sin embargo, tenga en cuenta que no es necesario anclarla a la pantalla Inicio. Para obtener más información, consulte Habilitación de notificaciones del sistema de escritorio a través de AppUserModelID.
- Una versión de Microsoft Visual Studio que admite al menos Windows 8
Instrucciones
1. Crear el contenido de la notificación del sistema
Nota
Cuando especifique una plantilla de notificación del sistema que incluya una imagen, tenga en cuenta que las aplicaciones de escritorio solo pueden usar imágenes locales; No se admiten imágenes web. Además, la ruta de acceso al archivo de imagen local debe proporcionarse como una ruta de acceso absoluta (no relativa).
// Get a toast XML template
XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastImageAndText04);
// Fill in the text elements
XmlNodeList stringElements = toastXml.GetElementsByTagName("text");
for (int i = 0; i < stringElements.Length; i++)
{
stringElements[i].AppendChild(toastXml.CreateTextNode("Line " + i));
}
// Specify the absolute path to an image
String imagePath = "file:///" + Path.GetFullPath("toastImageAndText.png");
XmlNodeList imageElements = toastXml.GetElementsByTagName("image");
ToastNotification toast = new ToastNotification(toastXml);
2. Crear y adjuntar los controladores de eventos
Registre controladores para los eventos del sistema: Activado, Descartado y Erróneo. Una aplicación de escritorio debe suscribirse al menos al evento Activated para que pueda controlar la activación esperada de la aplicación desde la notificación del sistema cuando el usuario la selecciona.
toast.Activated += ToastActivated;
toast.Dismissed += ToastDismissed;
toast.Failed += ToastFailed;
3. Enviar la notificación del sistema
Importante
Debes incluir el AppUserModelID del acceso directo de la aplicación en la pantalla Inicio cada vez que llames a CreateToastNotifier. Si no lo hace, no se mostrará la notificación del sistema.
ToastNotificationManager.CreateToastNotifier(appID).Show(toast);
4. Controlar las devoluciones de llamada
Traiga la ventana de la aplicación al primer plano si recibe una devolución de llamada "activada" de la notificación del sistema. Cuando un usuario selecciona una notificación del sistema, la expectativa es que la aplicación se inicie en una vista relacionada con el contenido de esa notificación del sistema.
Temas relacionados
-
Ejemplo sobre cómo enviar notificaciones del sistema de aplicaciones de escritorio
-
Cómo habilitar las notificaciones del sistema del escritorio a través de AppUserModelID
-
Inicio rápido: Envío de una notificación de inserción del sistema
-
Directrices y lista de comprobación para las notificaciones del sistema
-
Cómo elegir y usar una plantilla de notificación del sistema
-
Cómo controlar la activación desde una notificación del sistema