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.
Una notificación de aplicación es un elemento emergente de la interfaz de usuario que aparece fuera de la ventana de la aplicación, lo que proporciona información oportuna o acciones al usuario. Las notificaciones pueden ser puramente informativas, pueden iniciar la aplicación cuando se hace clic o pueden desencadenar una acción en segundo plano sin llevar la aplicación al primer plano.
Este artículo le guía por los pasos para crear y enviar una notificación de aplicación desde una aplicación para UWP y, a continuación, controlar la activación cuando el usuario interactúa con ella.
Para obtener información general sobre las notificaciones de aplicaciones y las instrucciones de otros marcos, consulte Introducción a las notificaciones de aplicaciones.
En este artículo se tratan las notificaciones locales. Para obtener información sobre cómo entregar notificaciones desde un servicio en la nube, consulte Introducción a las notificaciones push.
Prerrequisitos
- Un proyecto de aplicación para UWP en Visual Studio
- Carga de trabajo Plataforma universal de Windows development instalada en Visual Studio
Envío de una notificación de aplicación
Las aplicaciones para UWP usan el espacio de nombres Windows.UI.Notifications para construir y enviar notificaciones mediante XML. En esta sección se muestra cómo enviar notificaciones mediante C# y C++.
using Windows.Data.Xml.Dom;
using Windows.UI.Notifications;
var xml = @"<toast launch=""action=viewConversation&conversationId=9813"">
<visual>
<binding template=""ToastGeneric"">
<text>Andrew sent you a picture</text>
<text>Check this out, The Enchantments in Washington!</text>
</binding>
</visual>
</toast>";
var doc = new XmlDocument();
doc.LoadXml(xml);
var notification = new ToastNotification(doc);
ToastNotificationManager.CreateToastNotifier().Show(notification);
Gestionar la activación
Cuando el usuario hace clic en la notificación (o en un botón de la notificación con activación en primer plano), el método OnActivated de la aplicación se invoca.
OnLaunched no se llama para las activaciones de notificaciones, incluso si la aplicación se había cerrado y se está iniciando por primera vez. Se recomienda combinar OnLaunched y OnActivated en un método de inicialización compartido.
App.xaml.cs
protected override void OnLaunched(LaunchActivatedEventArgs e)
{
OnLaunchedOrActivated(e.PreviousExecutionState);
var rootFrame = Window.Current.Content as Frame;
if (e.PrelaunchActivated == false)
{
if (rootFrame?.Content == null)
{
rootFrame?.Navigate(typeof(MainPage), e.Arguments);
}
Window.Current.Activate();
}
}
protected override void OnActivated(IActivatedEventArgs e)
{
OnLaunchedOrActivated(e.PreviousExecutionState);
if (e is ToastNotificationActivatedEventArgs toastArgs)
{
var rootFrame = Window.Current.Content as Frame;
if (rootFrame?.Content == null)
{
rootFrame?.Navigate(typeof(MainPage));
}
Window.Current.Activate();
// Parse the notification arguments
string argument = toastArgs.Argument;
// TODO: Navigate to the relevant content based on the arguments
}
}
private void OnLaunchedOrActivated(ApplicationExecutionState previousState)
{
if (Window.Current.Content is not Frame)
{
var rootFrame = new Frame();
rootFrame.NavigationFailed += OnNavigationFailed;
Window.Current.Content = rootFrame;
}
}
Para obtener información sobre cómo agregar botones, imágenes, entradas, audio y otro contenido enriquecido a las notificaciones, consulta Contenido de notificación de la aplicación.