从App启动Android Market

时间:2009-12-27 00:57:20

标签: java android

我正在为Android上的应用开发精简版。如何启动Intent以打开Android Market,最好显示我的应用程序的完整版本?这很难在模拟器上测试(这与我拥有的设备最接近),因为似乎没有合法的方式在其上安装市场。

3 个答案:

答案 0 :(得分:29)

上面的查询有效,但是当我尝试它时,它看起来好像是根据名称提出搜索结果。

如果您使用类似

的内容
intent.setData(Uri.parse("market://details?id=com.wolinlabs.SuperScorepad")); 

相反,它会直接进入您应用的Android电子市场页面。

我认为这更符合您的要求(?)

答案 1 :(得分:23)

最后找到答案:

Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setData(Uri.parse("market://search?q=pname:MyApp")); 
startActivity(intent);

但是,无法在模拟器上进行测试。

答案 2 :(得分:1)

嗨,我正在尝试实现同样但有一点差异

我想要在我的应用程序上打开它

public void start(JSONArray args, CallbackContext callback) {

    Intent launchIntent;
    String packageName;
    String activity;
    String uri;
    ComponentName comp;

    try {
        packageName = args.getString(0); //com.android.vending
        activity    = args.getString(1); //com.google.android.finsky.activities.LaunchUrlHandlerActivity
        uri         = args.getString(2); //'market://details?id=com.triplingo.enterprise'

        launchIntent = this.cordova.getActivity().getPackageManager().getLaunchIntentForPackage(packageName);
        comp = new ComponentName(packageName, activity);
        launchIntent.setComponent(comp);
        launchIntent.setData(Uri.parse(uri));

        this.cordova.getActivity().startActivity(launchIntent);
        callback.success();
    } catch (Exception e) {
        callback.error(e.toString());
    }
}

这里的不同之处就是你开始一个新的应用程序不仅仅是在你的游戏中显示 APP

此代码是Cordova插件的一部分,但是您需要做的就是本机使用它。

重要事项

launchIntent = this.cordova.getActivity().getPackageManager().getLaunchIntentForPackage(packageName);
comp = new ComponentName(packageName, activity);
launchIntent.setComponent(comp);
launchIntent.setData(Uri.parse(uri));

此致