从 Universal windows 应用程序的后台任务中打开 uri

Opening the uri from background tasks in Universal windows apps

我知道这听起来很奇怪。有什么方法可以从 Windows 10 个应用程序中的后台任务打开 URI?

我有两个要求,

  1. 与cortana通话,它会显示基于语音识别的结果,当用户点击它时,我们无法直接在浏览器中打开链接。相反,我将启动上下文传递给前台应用程序,然后使用 LauchUri 在默认浏览器中打开 url。
  2. 从应用程序发送 toast 通知,当用户点击它时,我需要打开一个 url 而不是打开一个应用程序。因此,通过将启动上下文传递给前台应用程序然后打开 url,也这样做了。

这两种情况,它只是在浏览器中打开 url。这里的用户体验非常差,用户看到应用程序为每个操作打开,然后打开浏览器。如果有可能,请提出一些想法。

提前致谢。

对于第二个要求,您可以让 Toast Notifications 启动 URL!

如果您正在使用 Notifications library(我们建议您使用的 NuGet 包),只需将 Launch 属性 设置为 URL,并将 ActivationType 更改为协议。您也可以使用原始 XML 执行此操作,但这很容易出错。

您还可以让 toast 上的按钮也启动 URL,因为它们也支持协议的 ActivationType。

Show(new ToastContent()
{
    Visual = new ToastVisual()
    {
        BindingGeneric = new ToastBindingGeneric()
        {
            Children =
            {
                new AdaptiveText() { Text = "See the news" },
                new AdaptiveText() { Text = "Lots of great stories" }
            }
        }
    },

    Launch = "http://msn.com",
    ActivationType = ToastActivationType.Protocol
});