Start Android Market from App

前端 未结 3 1722
渐次进展
渐次进展 2020-12-28 22:22

I\'m developing a lite version for an app on the Android. How can I start an Intent to open the Android Market, preferably with the full version of my app displayed? This is

相关标签:
3条回答
  • 2020-12-28 22:38

    Hi I was trying the achieve the same but with one small difference

    I DIDN'T WANT TO OPEN IT EMBEDDED ON MY APP

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

    THE BIG DIFFERENCE HERE IS THAT YOU START A NEW APP NOT JUST SHOW GOOGLE PLAY IN YOUR APP

    This code is part of a Cordova plugin but is pretty obvious what you need to do to use it natively.

    THE IMPORTANT LINES

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

    Regards

    0 讨论(0)
  • 2020-12-28 22:51

    That query above works, but when I tried it, it looked like it was bringing up search results based on the name.

    If you use something like

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

    instead, it will go right to the Android Market page for your app.

    I think that's more what you wanted (?)

    0 讨论(0)
  • 2020-12-28 22:59

    Found answer in the end:

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

    No way of testing on emulator, though.

    0 讨论(0)
提交回复
热议问题