1

我不想打开浏览器,而是打开我的 Windows 8 手机中的实际商店。

我正在使用 PhoneGap 开发一个应用程序,所以我想用 Javascript 来做这件事。

我还没有提交我的应用程序,所以我还没有包名。在没有实际包名的情况下如何测试它?

另外,我似乎无法使用:

Windows.System.Launcher.LaunchUriAsync(new Uri(appStoreURL));

我得到:

Error:["'Windows' is undefined file:x-wmapp0:www\/js\/......

有任何想法吗?

解决方案

使用 Benoit 的答案和我发现的其他一些东西,我设法通过将以下插件添加到我的 cordovalib 来直接链接到评论部分:

LaunchReview.cs

using WPCordovaClassLib.Cordova.Commands;
using Microsoft.Phone.Tasks;

namespace Cordova.Extension.Commands
{
    public class LaunchReview : BaseCommand
    {
        public void launchReview(string options)
        {
            // Use the Marketplace review task to launch the Store or Marketplace and then display the review page for the current app.

            MarketplaceReviewTask marketplaceReviewTask = new MarketplaceReviewTask();

            marketplaceReviewTask.Show();
        }
    }
}
4

2 回答 2

2

请注意确定您为 appurl 使用的值,但这里应该可行:

 Windows.System.Launcher.LaunchUriAsync(new Uri("zune:reviewapp"));

或者您可以使用:

 MarketplaceReviewTask marketplaceReviewTask = new MarketplaceReviewTask();
 marketplaceReviewTask.Show();


要从 javascript 调用它,只需创建一个插件:

namespace Cordova.Extension.Commands
{

    public class LaunchReview: BaseCommand
    {
        public void launchReview(string options)
        {
            // all JS callable plugin methods MUST have this signature!
            // public, returning void, 1 argument that is a string

            MarketplaceReviewTask marketplaceReviewTask = new MarketplaceReviewTask();
            marketplaceReviewTask.Show();
        }
    }
}

你可以像这样从javascript中使用它:

cordova.exec(win, fail, "LaunchReview", "launchReview", [""]);

这是windows phone插件开发指南的链接

如果您想使用 window.open,那么您需要修改 PhoneGap 源代码以使用 LAunchUri,因为目前它只是使用 WebBrowserTask 而不是 LaunchUri。修改的函数是Plugin/InAppBrowser.cs>ShowSystemBrowser

于 2013-09-17T19:50:30.857 回答
0

我使用了 InAppBrowser cordova 插件。

cordova plugin add org.apache.cordova.inappbrowser

要打开 wp8 商店,我从 javascript 调用:

window.open(UrlToMyApp, '_blank', 'location=yes');
于 2015-05-13T08:54:01.383 回答