UWP启动uri方法LaunchUriAsync失败

时间:2018-01-22 14:09:55

标签: uwp launch

我尝试使用代码

启动https链接
await Windows.System.Launcher.LaunchUriAsync(new Uri(url));

但结果返回false,我使用chrome / Edge打开相同的PDF文件并点击链接,它可以很好地工作,并且直接打开Chrome / Edge中的链接也很有效。所以我想知道为什么LaunchUriAsync失败了,有人可以帮忙吗?我发现有一个名为LaunchUriForResultsAsync的方法,但当我将Luanch选项设置为new LauncherOptions()时,它会告诉我参数不正确。

PS:我从UI线程调用它,我也可以成功打开像https://www.google.com.hk/webhp?hl=zh-CN&sourceid=cnhp&gws_rd=ssl这样的https链接。

2 个答案:

答案 0 :(得分:4)

如果有人遇到同样的问题,我的解决方案是设置应用包清单的Capability privateNetworkClientServer。

答案 1 :(得分:0)

答案不再有效,OP澄清了从UI线程中使用的Launcher

您必须确保从UI线程调用Launcher方法。如果从非UI线程调用方法,它们将总是失败。然后返回值false并且没有启动任何内容,这似乎就是您的情况。

因此,您也无法从后台任务启动URI。

要确保正确解释网址,您还可以向Uri构造函数添加第二个参数 - UriKind.Absolute