Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Eine App-Benachrichtigung ist ein UI-Popup, das außerhalb des Fensters Ihrer App angezeigt wird und dem Benutzer zeitnah Informationen oder Aktionen liefert. Benachrichtigungen können rein informativ sein, ihre App beim Klicken starten oder eine Hintergrundaktion auslösen, ohne ihre App in den Vordergrund zu bringen.
Dieser Artikel führt Sie durch die Schritte zum Erstellen und Senden einer App-Benachrichtigung aus einer UWP-App und behandelt dann die Aktivierung, wenn der Benutzer damit interagiert.
Eine Übersicht über App-Benachrichtigungen und Anleitungen für andere Frameworks finden Sie in der Übersicht über App-Benachrichtigungen.
In diesem Artikel werden lokale Benachrichtigungen behandelt. Informationen zum Bereitstellen von Benachrichtigungen von einem Clouddienst finden Sie in der Übersicht über Pushbenachrichtigungen.
Voraussetzungen
- Ein UWP-App-Projekt in Visual Studio
- Die Universelle Windows-Plattform development Arbeitsauslastung installiert in Visual Studio
Senden einer App-Benachrichtigung
UWP-Apps verwenden den Namespace Windows.UI.Notifications, um Benachrichtigungen mithilfe von XML zu erstellen und zu senden. In diesem Abschnitt wird gezeigt, wie Benachrichtigungen mit C# und C++ gesendet werden.
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);
Aktivierung auslösen
Wenn der Benutzer auf Ihre Benachrichtigung (oder auf eine Schaltfläche in der Benachrichtigung mit Vordergrundaktivierung) klickt, wird die OnActivated-Methode Ihrer App aufgerufen.
OnLaunched wird nicht für Benachrichtigungsaktivierungen aufgerufen, auch wenn Ihre App geschlossen wurde und zum ersten Mal gestartet wird. Es wird empfohlen, OnLaunched und OnActivated in einer gemeinsamen Initialisierungsmethode zu kombinieren.
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;
}
}
Informationen zum Hinzufügen von Schaltflächen, Bildern, Eingaben, Audio und anderen umfangreichen Inhalten zu Ihren Benachrichtigungen finden Sie unter App-Benachrichtigungsinhalte.