LaunchUriAsync Windows计算器 - 第一次

时间:2016-03-01 14:09:13

标签: win-universal-app

也许这是预期的行为,但根据我的经验,除了设置应用程序,地图和联系人之外,Windows 10中内置应用程序的程序化启动很少 - 我可以在这方面使用一些帮助。 p>

我正在从应用程序中启动Windows计算器库存。我作为Uri进行了一些猜测,它似乎有效 - 除了第一次发射。当我们获得新设备时,第一次运行应用程序并尝试启动计算器时,它想要从商店获取应用程序(最终用户无权访问) - 它甚至不提供内置计算器作为选择。 如果计算器是手动打开的,即使只执行一次,它也可以从那一点开始工作。我还能做什么/应该做什么?任何指导或建议将不胜感激。

我想第一次使用它(设备上的设置?),或者至少提供内置计算器作为选择。

以下是我正在使用的代码:

private async void LaunchCalculatorAsync(object sender, TappedRoutedEventArgs e)
{
    var options = new Windows.System.LauncherOptions();
    options.TreatAsUntrusted = false;
    options.DesiredRemainingView = Windows.UI.ViewManagement.ViewSizePreference.UseNone;
    await Windows.System.Launcher.LaunchUriAsync(new Uri("calculator:"), options);
}

从设备上运行已安装的应用列表,我看到列出的计算器:Microsoft.WindowsCalculator_8wekyb3d8bbwe。我尝试使用options.PreferredApplicationPackageFamilyName = "WindowsCalculator";提供PreferredApplicationPackageFamilyName失败了 我曾尝试使用/不使用“Microsoft”。以及有/无奇数字符串。

1 个答案:

答案 0 :(得分:-1)

您可以在GitHub中获得Microsoft的演示, Association launching sample

希望这可以帮到你。

private async void LaunchUriWithWarning()
    {
        // Create the URI to launch from a string.
        var uri = new Uri(UriToLaunch.Text);

        // Configure the warning prompt.
        var options = new LauncherOptions() { TreatAsUntrusted = true };

        // Launch the URI.
        bool success = await Launcher.LaunchUriAsync(uri, options);
        if (success)
        {
            rootPage.NotifyUser("URI launched: " + uri.AbsoluteUri, NotifyType.StatusMessage);
        }
        else
        {
            rootPage.NotifyUser("URI launch failed.", NotifyType.ErrorMessage);
        }
    }