UWP 启动 uri 方法 LaunchUriAsync 失败
UWP launch uri method LaunchUriAsync failed
我尝试使用代码
启动 https link
await Windows.System.Launcher.LaunchUriAsync(new Uri(url));
但是结果returnsfalse
,我用chrome/Edge打开同样的PDF文件,点击link,效果很好,直接打开Chrome/Edge 中的 link 也很好用。所以我想知道为什么 LaunchUriAsync
失败了,有人可以帮忙吗?我发现有一个名为 LaunchUriForResultsAsync
的方法,但是当我将 Luanch 选项设置为 new LauncherOptions()
时,它会告诉我参数不正确。
PS:我从 UI 线程调用它,我也可以像 https://www.google.com.hk/webhp?hl=zh-CN&sourceid=cnhp&gws_rd=ssl.
一样成功打开 https link
答案不再有效,OP 澄清了 Launcher
来自 UI 线程。
您必须确保从 UI 线程调用 Launcher
方法。如果您从非 UI 线程调用这些方法,它们总是会失败。 return 值然后是 false
并且没有启动任何东西,这看起来像你的情况。
因此,您也无法从后台任务启动 URI。
为了确保 URL 被正确解释,您还可以向 Uri
构造函数添加第二个参数 - UriKind.Absolute
如果有人遇到同样的问题,我的解决方案是设置应用程序包清单的 Capability privateNetworkClientServer。
我尝试使用代码
启动 https linkawait Windows.System.Launcher.LaunchUriAsync(new Uri(url));
但是结果returnsfalse
,我用chrome/Edge打开同样的PDF文件,点击link,效果很好,直接打开Chrome/Edge 中的 link 也很好用。所以我想知道为什么 LaunchUriAsync
失败了,有人可以帮忙吗?我发现有一个名为 LaunchUriForResultsAsync
的方法,但是当我将 Luanch 选项设置为 new LauncherOptions()
时,它会告诉我参数不正确。
PS:我从 UI 线程调用它,我也可以像 https://www.google.com.hk/webhp?hl=zh-CN&sourceid=cnhp&gws_rd=ssl.
一样成功打开 https link答案不再有效,OP 澄清了 Launcher
来自 UI 线程。
您必须确保从 UI 线程调用 Launcher
方法。如果您从非 UI 线程调用这些方法,它们总是会失败。 return 值然后是 false
并且没有启动任何东西,这看起来像你的情况。
因此,您也无法从后台任务启动 URI。
为了确保 URL 被正确解释,您还可以向 Uri
构造函数添加第二个参数 - UriKind.Absolute
如果有人遇到同样的问题,我的解决方案是设置应用程序包清单的 Capability privateNetworkClientServer。