来自 Chrome 的 UWP UserNotification - 如何获取源域信息?
Posted
技术标签:
【中文标题】来自 Chrome 的 UWP UserNotification - 如何获取源域信息?【英文标题】:UWP UserNotification from Chrome - how to get source domain info? 【发布时间】:2021-11-24 02:58:27 【问题描述】:在我的 UWP 应用中,当从谷歌服务(如 Gmail 或日历)接收 toast 通知时,我可以看到 FQDN 反映在通知 UI 中: see toast notifications I am getting
但是,我在从await UserNotificationListener.Current.GetNotificationsAsync(NotificationKinds.Toast)
获取的 UserNotification 对象中的任何位置都找不到此域信息。
UserNotification 对象既好又好,但它似乎缺少一些我需要的信息,FQDN 就是其中之一。 我可以从哪里检索 FQDN?
附: 我在 UserNotification 对象中缺少的其他内容是:
通知的任何和所有语言字符串都是空的。这是我目前尝试获取的方法:string lang = (toastBinding.Language.Count() > 0) ? toastBinding.Language : textElements[0].Language;
GetLogo() 返回空值:RandomAccessStreamReference appLogoStream = appInfo.DisplayInfo.GetLogo(size);
我的主要痛点是缺少 FQDN,但如果有人知道我如何/是否可以检索上述内容,我将不胜感激。
【问题讨论】:
【参考方案1】:根据here 和here 描述的 Toast 通知格式,域信息以所谓的“属性文本”的形式提供。根据文档:
周年更新中的新功能:如果您需要引用内容的来源,可以使用署名文字。此文本始终与您的应用标识或通知的时间戳一起显示在通知的底部。
所以,归属文本是我所追求的。但是,尽管它是 Toast Visual 通用绑定的一部分,但它似乎无法通过 NotificationListener 获得。
...自从我上次编码以来已经有 15 年了,现在我回到它,我发现微软并没有改变它的习惯。
【讨论】:
以上是关于来自 Chrome 的 UWP UserNotification - 如何获取源域信息?的主要内容,如果未能解决你的问题,请参考以下文章
UWP:未指定的错误 - 来自 HRESULT 的异常:0x80004005
C# 框架中的 UDP 数据报套接字(来自 UWP 的端口)
在我的 UWP 应用程序中打开来自 Windows 的所有 http 链接