我按照以下说明安装了 Microsoft.Toolkit.Uwp.Notifications NuGet 包: https://learn.microsoft.com/en-us/windows/apps/design/shell/tiles-and-notifications/send-local-toast?tabs=desktop
现在我做了一个测试Toast并尝试通过这种方式展示:
public Toast()
{
ToastContentBuilder test = new ToastContentBuilder();
test.AddHeader(Guid.NewGuid().ToString(),"my first notification!", "HeaderArgument");
test.SetToastScenario(ToastScenario.Reminder);
test.AddArgument("myKey", "myValue");
test.AddText("This is a cool Toast!");
test.AddInlineImage(new Uri("https://picsum.photos/360/202?image=883"));
test.AddAppLogoOverride(new Uri("ms-appdata:///local/Andrew.jpg"), ToastGenericAppLogoCrop.Circle);
test.Show(toast =>
{
toast.ExpirationTime = DateTime.Now.AddDays(2);
toast.Group = "myApp";
});
}
但是当它显示时,标题是 Dev-Debug,并显示消息(粗略翻译)“新通知!” 当我单击它时,我的应用程序被激活,但参数为空。 我这样注册了吐司:
ToastNotificationManagerCompat.OnActivated += toastArgs =>
{
ToastArguments args = ToastArguments.Parse(toastArgs.Argument);
ValueSet userInput = toastArgs.UserInput;
Current.Dispatcher.Invoke(delegate
{
MessageBox.Show("Toast activated. Args: " + toastArgs.Argument);
ToastNotificationManagerCompat.History.RemoveGroup("myApp");
});
};
删除历史记录组的最后一部分工作正常......所以 toast.Group 正在工作,但之前的其余部分不是......有人知道如何使这项工作工作吗?
有人知道如何进行这项工作吗?
尝试删除对
AddAppLogoOverride
的调用或指定徽标图像的绝对路径,例如:
test.AddAppLogoOverride(new Uri("C:\\...\\Andrew.png"), ToastGenericAppLogoCrop.Circle);
未打包的 WPF 应用程序不支持 ms-appdata
。