启动另一个Windows商店应用程序

3

当用户在我的应用程序中点击按钮时,是否可能启动不同的Windows Store应用程序?

3个回答

4
是的,你可以从你的应用程序启动其他Windows Store应用程序,比如Bing Maps。地图应用程序支持协议激活,这意味着您可以使用特殊的url语法从自己的Windows Store应用程序中以编程方式调用地图应用程序。
Windows允许应用程序注册成为某个URI方案名称的默认处理程序。桌面和Windows Store应用程序都可以注册成为URI方案名称的默认处理程序。您可以查看http://devhammer.net/blog/w8wil-6-leverage-the-maps-app-for-location-based-features来了解想法。
地图应用程序uri方案的官方文档,包括所有可用参数,可以在此找到:http://msdn.microsoft.com/en-us/library/windows/apps/jj635237.aspx

2
遗憾的是,Win-RT应用程序不允许启动其他应用程序。
如果已经注册了特定的URL以打开特定的应用程序,则有一种解决方法可以让您打开特定的应用程序:

http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj206987(v=vs.105).aspx

我不确定这会有多大帮助,但你可以打开商店并转到特定的商店应用程序页面,方法如下:
Launcher.LaunchUriAsync(new Uri("ms-windows-store:PDP?PFN=" + storeID), a);

“storeID”的格式类似于“30416[应用程序名].[应用程序名]_94hq21bnosq1p”,可以从网店源代码中获取:

http://apps.microsoft.com/webpdp/en-gb/app/Fhotoroom/4d91298a-07cb-40fb-aecc-4cb5615d53c1


1
Cameron回复中的链接是关于Windows Phone 8中类似概念的,这里是Windows Store应用程序相同概念(协议激活)的链接。链接 - Jim O'Neil

1
是的,可以从您的应用程序启动任何现有的Windows Store应用程序,您需要做的就是导航到http://www.windowsphone.com/url-of-existing-app。这将首先在浏览器中打开应用程序,然后自动在商店中打开。
在按钮单击事件中编写以下代码。
private void AnotherApp(object sender, RoutedEventArgs e)
    {
        WebBrowserTask task = new WebBrowserTask();
        task.URL = "http://www.windowsphone.com/en-us/store/app/all-base-to-all-base-converter/869cea08-3a99-4218-8d4f-a631c2fb8f53";
        task.Show();
    }

应用程序将首先在浏览器中打开,然后自动转到应用商店。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接