【问题标题】:Start Android Market from App从应用程序启动 Android 电子市场
【发布时间】:2009-12-27 00:57:19
【问题描述】:

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

【问题讨论】:

    标签: java android


    【解决方案1】:

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

    如果你使用类似的东西

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

    相反,它会直接转到您应用的 Android Market 页面。

    我认为这正是你想要的 (?)

    【讨论】:

    • 非常感谢哥们。我想知道开发者是否有Url可以打开更多应用程序???? Url Url 打开应用程序.. 有一个选项可以查看更多应用程序.. 我想要那个 URL.. :)
    • 是的,有,在发布指南link中有描述。使用这个:market://search?q=pub:
    • 这个是针对同一个应用打开市场的,要真正打开市场单独看我的回答。
    【解决方案2】:

    最终找到答案:

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

    不过,无法在模拟器上进行测试。

    【讨论】:

    【解决方案3】:

    您好,我正在尝试实现相同但有一点点不同

    我不想在我的应用程序中打开它

    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());
        }
    }
    

    最大的不同在于,您启动了一个新应用程序,而不仅仅是在您的应用程序中显示 GOOGLE PLAY 应用程序

    这段代码是 Cordova 插件的一部分,但很明显你需要做什么才能在本地使用它。

    重要的台词

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

    问候

    【讨论】:

      猜你喜欢
      • 2011-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多