我尝试使用代码
启动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链接。
答案 0 :(得分:4)
如果有人遇到同样的问题,我的解决方案是设置应用包清单的Capability privateNetworkClientServer。
答案 1 :(得分:0)
答案不再有效,OP澄清了从UI线程中使用的Launcher
。
您必须确保从UI线程调用Launcher
方法。如果从非UI线程调用方法,它们将总是失败。然后返回值false
并且没有启动任何内容,这似乎就是您的情况。
因此,您也无法从后台任务启动URI。
要确保正确解释网址,您还可以向Uri
构造函数添加第二个参数 - UriKind.Absolute