LaunchUriAsync 为 true 时浏览器未打开

时间:2020-12-18 23:54:19

标签: c# uwp

我正在尝试让默认网络浏览器打开用户提供的 URL,在这种情况下,假设它是 https://stackoverflow.com/,但是当程序运行时,应用程序为 LaunchUriAsync 返回 true,但它没有打开浏览器并导航到该站点。如何让浏览器打开 URL?

private void Button_Click(object sender, RoutedEventArgs e)
        {
            string url = StoreUrl.Text;

            Uri uri = new Uri(@"" + url);
            DefaultLaunch(uri);
        }
    async void DefaultLaunch(Uri uri)
        {
            // Launch the URI
            var success = await Windows.System.Launcher.LaunchUriAsync(uri);

            if (success)
            {
                // URI launched
            }
            else
            {
                // URI launch failed
            }
        }

1 个答案:

答案 0 :(得分:1)

我刚刚创建了一个新项目并将以下代码粘贴到 Loaded 事件中

var success = await Windows.System.Launcher.LaunchUriAsync(new Uri("https://stackoverflow.com/"));

对我来说效果很好。

如果调用返回 true,似乎没有什么可以阻止它的工作。在这个阶段,我会建议这是一个环境问题,或者与该浏览器的 shell 机制有关。

从这里我会

  • 在一个干净的新项目中对此进行测试。
  • 更改默认浏览器,如果可以,那么浏览器中可能存在某种设置/损坏
  • 禁用您的防病毒软件,看看它是否有效。