来自 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 应用显示来自 Web 视图中本地文件夹的图像

在我的 UWP 应用程序中打开来自 Windows 的所有 http 链接

为啥我的受 AAD 保护的 Azure 函数在使用来自 UWP 应用的访问令牌调用时返回 401?

UWP 应用的调试和发布模式