Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az alkalmazásértesítések egy olyan felhasználói felületi előugró ablak, amely az alkalmazás ablakán kívül jelenik meg, és időben szolgáltat információkat vagy műveleteket a felhasználónak. Az értesítések lehetnek pusztán tájékoztató jellegűek, kattintáskor elindíthatják az alkalmazást, vagy háttérműveleteket indíthatnak el anélkül, hogy előtérbe kerülnek az alkalmazás.
Ez a cikk bemutatja, hogyan hozhat létre és küldhet alkalmazásértesítést egy .NET konzolalkalmazásból, majd kezelheti az aktiválást, amikor a felhasználó interakcióba lép vele. Ez a cikk a Windows App SDKMicrosoft.Windows.AppNotifications API-kat használja.
Az alkalmazásértesítések áttekintéséért és az egyéb keretrendszerekhez kapcsolódó útmutatásért tekintse meg az alkalmazásértesítések áttekintését.
Ez a cikk a helyi értesítéseket ismerteti. Az értesítések felhőszolgáltatásból való kézbesítéséről további információt a Leküldéses értesítések című témakörben talál.
Fontos
Az emelt szintű (rendszergazdai) alkalmazások értesítései jelenleg nem támogatottak.
Előfeltételek
- 6-os vagy újabb .NET célzó .NET konzolalkalmazás
- A Windows App SDK NuGet-csomag (
Microsoft.WindowsAppSDK)
Állítsa be a projektjét
A projektfájlban (.csproj) győződjön meg arról, hogy a TargetFramework tartalmaz egy Windows cél keretrendszert:
<TargetFramework>net9.0-windows10.0.19041.0</TargetFramework>
Adja hozzá a Windows App SDK NuGet-csomagot:
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.7.250310001" />
Csomagolatlan alkalmazások esetén adja hozzá a következőt:
<WindowsPackageType>None</WindowsPackageType>
Alkalmazásértesítések regisztrálása
A Main metódusban regisztrálja a NotificationInvoked kezelőt mielőtt meghívja a Regisztrál metódust. A konzolalkalmazásnak továbbra is futnia kell az aktiválási visszahívások fogadásához, amikor az értesítésekre kattint.
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();
Megjegyzés:
Csomagolatlan alkalmazások esetén a Register() automatikusan beállítja a COM-kiszolgáló regisztrációját, amely lehetővé teszi, hogy Windows elindítsa az alkalmazást, amikor egy értesítésre kattint. Nem kell manuálisan konfigurálnia a COM-aktiválást vagy az AUMID-t.
Alkalmazásértesítés küldése
Az AppNotificationBuilder használatával értesítési tartalmakat hozhat létre, és az AppNotificationManager.Show használatával értesítéseket küldhet.
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);
Az alkalmazás futásának megtartása
NotificationInvoked A kezelő meghívásához a konzolalkalmazásnak továbbra is futnia kell, amikor a felhasználó az értesítésre kattint. Ha az alkalmazás kilép, mielőtt a felhasználó az értesítéssel kommunikál, a következő kattintással új folyamatot indíthat el.
Console.WriteLine("Notification sent! Waiting for activation...");
Console.WriteLine("Press Enter to exit.");
Console.ReadLine();
// Unregister when the app exits
AppNotificationManager.Default.Unregister();
Teljes példa
Itt talál egy teljes Program.cs, amely értesítést küld és kezeli az aktiválást:
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();
Kapcsolódó tartalom
Windows developer