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 .NET Konsolen-App und behandelt dann die Aktivierung, wenn der Benutzer damit interagiert. In diesem Artikel werden die APIs Windows App SDKMicrosoft.Windows.AppNotifications verwendet.
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 Übermitteln von Benachrichtigungen von einem Clouddienst finden Sie unter Pushbenachrichtigungen.
Von Bedeutung
Benachrichtigungen für Apps mit erhöhten Rechten (Administrator) werden derzeit nicht unterstützt.
Voraussetzungen
- Eine .NET Konsolen-App für .NET 6 oder höher
- Das Windows App SDK NuGet-Paket (
Microsoft.WindowsAppSDK)
Einrichten Ihres Projekts
Stellen Sie in der Projektdatei (.csproj) sicher, dass die TargetFramework ein Windows Zielframework enthält:
<TargetFramework>net9.0-windows10.0.19041.0</TargetFramework>
Fügen Sie das Windows App SDK NuGet-Paket hinzu:
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.7.250310001" />
Fügen Sie für entpackte Apps Folgendes hinzu:
<WindowsPackageType>None</WindowsPackageType>
Registrieren für App-Benachrichtigungen
Registrieren Sie in Ihrer Main Methode den NotificationInvoked-Handlervor dem Aufrufen von Register. Die Konsolen-App muss weiterhin ausgeführt werden, um Aktivierungsrückrufe zu empfangen, wenn auf Benachrichtigungen geklickt wird.
Program.cs
using Microsoft.Windows.AppNotifications;
using Microsoft.Windows.AppNotifications.Builder;
// Register the notification handler before calling Register
AppNotificationManager.Default.NotificationInvoked += (sender, args) =>
{
// Handle notification activation.
// args.Argument contains the arguments from the notification
// or button that was clicked, as key=value pairs separated
// by '&', for example "action=acknowledge".
Console.WriteLine($"Notification activated! Arguments: {args.Argument}");
};
AppNotificationManager.Default.Register();
Hinweis
Bei entpackten Apps richtet Register() automatisch die COM-Serverregistrierung ein, mit der Windows ihre App starten kann, wenn auf eine Benachrichtigung geklickt wird. Sie müssen die COM-Aktivierung oder eine AUMID nicht manuell konfigurieren.
Senden einer App-Benachrichtigung
Verwenden Sie AppNotificationBuilder , um Benachrichtigungsinhalte und AppNotificationManager.Show zu erstellen, um eine Benachrichtigung zu senden.
var notification = new AppNotificationBuilder()
.AddArgument("action", "viewItem")
.AddText("Console Notification")
.AddText("This was sent from a console app using Windows App SDK.")
.AddButton(new AppNotificationButton("Acknowledge")
.AddArgument("action", "acknowledge"))
.BuildNotification();
AppNotificationManager.Default.Show(notification);
Halten Sie die App am Laufen
Damit der NotificationInvoked Handler aufgerufen wird, muss die Konsolen-App weiterhin ausgeführt werden, wenn der Benutzer auf die Benachrichtigung klickt. Wenn die App beendet wird, bevor der Benutzer mit der Benachrichtigung interagiert, startet der nächste Klick einen neuen Prozess.
Console.WriteLine("Notification sent! Waiting for activation...");
Console.WriteLine("Press Enter to exit.");
Console.ReadLine();
// Unregister when the app exits
AppNotificationManager.Default.Unregister();
Vollständiges Beispiel
Hier ist ein vollständiger Program.cs, der eine Benachrichtigung sendet und die Aktivierung ausführt:
using Microsoft.Windows.AppNotifications;
using Microsoft.Windows.AppNotifications.Builder;
Console.WriteLine("Console App Notification Test");
// Step 1: Register for notification activation
AppNotificationManager.Default.NotificationInvoked += (sender, args) =>
{
Console.WriteLine($"Notification activated! Arguments: {args.Argument}");
};
AppNotificationManager.Default.Register();
// Step 2: Send a notification
var notification = new AppNotificationBuilder()
.AddArgument("action", "viewItem")
.AddText("Console Notification")
.AddText("This was sent from a console app using Windows App SDK.")
.AddButton(new AppNotificationButton("Acknowledge")
.AddArgument("action", "acknowledge"))
.BuildNotification();
AppNotificationManager.Default.Show(notification);
// Step 3: Wait for user interaction
Console.WriteLine("Notification sent! Click it to test activation.");
Console.WriteLine("Press Enter to exit.");
Console.ReadLine();
AppNotificationManager.Default.Unregister();
Verwandte Inhalte
Windows developer