我正在构建一个应用程序,作为URI的共享目标;它使用URI,然后使用URL来调用浏览器到我们的网站进行共享。我使用共享目标示例运行代码,但是,当我不在调试器中时,Launcher.LaunchUriAsync总是会失败。虽然它不会抛出错误,所以我很难弄清楚可能是什么错误;也许一些安全上下文。

有任何想法吗?代码本身很短。我得到成功= false,直接从外壳运行并通过Win-C / Share调用。我已确保清单中设置了所有三个联网声明。其他想法?

if (this.shareOperation.Data.Contains(StandardDataFormats.Uri))
{
    Uri uri = await this.shareOperation.Data.GetUriAsync();
    if (uri != null)
    {
        Uri tempUri;
        Uri.TryCreate("http://www.mysite.com/#/search?v=results&bk=1.0&q="+uri.ToString(), UriKind.Absolute, out tempUri);
        bool success = await Windows.System.Launcher.LaunchUriAsync(tempUri);
        if (success) {
            contentValue.Text += "Success invoking browser" + ":URL="+tempUri.ToString()+ Environment.NewLine;
        } else {
            contentValue.Text += "Fail invoking browser" + ":URL=" + tempUri.ToString() + Environment.NewLine;
        }
    }
}

最佳答案

共享目标不应启动另一个应用程序。共享目标旨在承载在共享窗格中,并应为用户提供一种快速的上下文关联方式,以与您的应用程序或服务共享内容。

就您而言,也许您应该托管一个WebView并将其导航到服务的URL?

10-08 08:47