C# 打开应用程序url方案,如果windows phone 8不可用,则不选择转到商店

C# 打开应用程序url方案,如果windows phone 8不可用,则不选择转到商店,c#,windows-phone,windows-phone-8.1,url-scheme,custom-url,C#,Windows Phone,Windows Phone 8.1,Url Scheme,Custom Url,在IOS和Android上,很容易检测是否安装了某个应用程序。微软对开发者并不友好,并且拒绝访问其他应用程序的信息 因此,在WP上启动url方案时,如: Windows.System.Launcher.LaunchUriAsync(new system.Uri("myApp:MyParams")); 这将打开一个对话框,您可以取消或“去商店下载应用程序” 我想得到这样一个结果:当应用程序未安装时,此对话框永远不会显示,而当安装应用程序时,应用程序只是打开 有人能帮我吗?(当然更理想的情况是可

在IOS和Android上,很容易检测是否安装了某个应用程序。微软对开发者并不友好,并且拒绝访问其他应用程序的信息

因此,在WP上启动url方案时,如:

 Windows.System.Launcher.LaunchUriAsync(new system.Uri("myApp:MyParams"));
这将打开一个对话框,您可以取消或“去商店下载应用程序”

我想得到这样一个结果:当应用程序未安装时,此对话框永远不会显示,而当安装应用程序时,应用程序只是打开


有人能帮我吗?(当然更理想的情况是可用性检查,但这不会发生)

在8.1中不可能,您必须等待10分钟,才能为
Launcher.LaunchUriAsync

提供更多功能。您还可以使用
LauncherOptions
参数调用方法
Windows.System.Launcher.LaunchUriAsync

LauncherOptions.preferredApplicationPackageFamilyName
设置为要推荐的应用商店中应用程序的程序包族名称

LauncherOptions。preferredApplicationDisplayName
设置为该应用程序LauncherOptions的名称


您必须同时设置这两个选项才能推荐应用程序。设置一个而不设置另一个将导致失败

我不确定这是否可能。这是平台的默认行为。我知道,但我希望有一个lupole可以改变这种行为。也许这个链接会有所帮助:对WP10进行了测试,效果“很好”(还没有什么东西很好……但它确实起到了作用)。具体地说,在Windows 10中,你可以使用
QueryUrisSupportAsync
方法查看是否有人可以处理启动: