C# 未安装特定URI的应用程序时,打开浏览器(IE)

C# 未安装特定URI的应用程序时,打开浏览器(IE),c#,visual-studio,windows-phone-8,uri,C#,Visual Studio,Windows Phone 8,Uri,这是我的第一个WP8项目,我真的在谷歌上搜索了几个小时,找不到这个具体问题的答案 当用户点击一个按钮,该按钮应指向任何社交网络,如facebook、twitter等,我想检查:是否安装了应用程序?如果是,请打开应用程序。如果没有,请不要将用户发送到市场,而是打开带有站点的浏览器 到目前为止,我掌握的代码如下: await Windows.System.Launcher.LaunchUriAsync(new Uri("fb://page/my_id")) 这会打开facebook应用程序(如果已

这是我的第一个WP8项目,我真的在谷歌上搜索了几个小时,找不到这个具体问题的答案

当用户点击一个按钮,该按钮应指向任何社交网络,如facebook、twitter等,我想检查:是否安装了应用程序?如果是,请打开应用程序。如果没有,请不要将用户发送到市场,而是打开带有站点的浏览器

到目前为止,我掌握的代码如下:

await Windows.System.Launcher.LaunchUriAsync(new Uri("fb://page/my_id"))
这会打开facebook应用程序(如果已安装),否则会将我发送到市场。 我唯一的选择是:

await Windows.System.Launcher.LaunchUriAsync(new Uri((SocialMediaSelector.SelectedItem as SocialMediaViewModel).URL));
这将在IE中打开我的facebook页面


有没有办法知道安装了多少具有特定uri协议的应用程序?

没有,你无法在手机上检测到其他应用程序。我不想知道太多关于它们的信息。只是希望有一些像yep这样的返回值,是否为“fb”找到了一些东西,所以我可以做出反应。不幸的是,这是不允许的。可能是一些安全限制。这是一个一致的用户体验的方式处理今天。应用程序不应该能够探测操作系统中其他已安装的应用程序,例如,可以通过寻找唯一的处理程序来完成。您可能有一个应用程序鼓励安装第二个应用程序来代替已安装的应用程序。好的,感谢您澄清这一点。至少我现在可以停止搜索了。