Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Een app-melding is een pop-up van de gebruikersinterface die buiten het venster van uw app wordt weergegeven, waarbij tijdige informatie of acties aan de gebruiker worden geleverd. Meldingen kunnen puur informatief zijn, uw app starten wanneer erop wordt geklikt of een achtergrondactie activeren zonder uw app op de voorgrond te plaatsen.
In dit artikel wordt u begeleid bij de stappen voor het maken en verzenden van een app-melding vanuit een .NET-console-app en wordt de activering verwerkt wanneer de gebruiker ermee werkt. In dit artikel worden de API's Windows App SDKMicrosoft.Windows.AppNotifications gebruikt.
Zie het overzicht van app-meldingen en -richtlijnen voor andere frameworks voor een overzicht van app-meldingen.
In dit artikel worden lokale meldingen behandeld. Zie Pushmeldingen voor informatie over het leveren van meldingen van een cloudservice.
Belangrijk
Meldingen voor apps met verhoogde beheerrechten worden momenteel niet ondersteund.
Vereiste voorwaarden
- Een .NET console-app die is gericht op .NET 6 of hoger
- Het NuGet-pakket Windows App SDK (
Microsoft.WindowsAppSDK)
Stel uw project in
Controleer in uw projectbestand (.csproj) dat de TargetFramework een target framework voor Windows bevat:
<TargetFramework>net9.0-windows10.0.19041.0</TargetFramework>
Voeg het Windows App SDK NuGet-pakket toe:
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.7.250310001" />
Voor uitgepakte apps voegt u het volgende toe:
<WindowsPackageType>None</WindowsPackageType>
Registreren voor app-meldingen
Registreer in uw Main methode de NotificationInvoked-handlervoordatu Register aanroept. De console-applicatie moet blijven draaien om activerings-callbacks te ontvangen wanneer er op notificaties wordt geklikt.
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();
Opmerking
Voor uitgepakte apps stelt Register() automatisch de COM-serverregistratie in waarmee Windows uw app kan starten wanneer op een melding wordt geklikt. U hoeft com-activering of een AUMID niet handmatig te configureren.
Een app-melding verzenden
Gebruik AppNotificationBuilder om inhoud van meldingen samen te stellen en AppNotificationManager.Show om een melding te verzenden.
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);
De app actief houden
Voor de NotificationInvoked handler aangeroepen kan worden, moet de console-app nog steeds actief zijn wanneer de gebruiker op de melding klikt. Als de app wordt afgesloten voordat de gebruiker met de melding communiceert, wordt met de volgende klik een nieuw proces gestart.
Console.WriteLine("Notification sent! Waiting for activation...");
Console.WriteLine("Press Enter to exit.");
Console.ReadLine();
// Unregister when the app exits
AppNotificationManager.Default.Unregister();
Volledig voorbeeld
Dit is een voltooide bewerking Program.cs waarmee een melding wordt verzonden en activering wordt verwerkt:
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();
Verwante inhoud
Windows developer