"Rate This App"-link in Google Play store app on the phone "Rate This App"-link in Google Play store app on the phone android android

"Rate This App"-link in Google Play store app on the phone


I open the Play Store from my App with the following code:

            val uri: Uri = Uri.parse("market://details?id=$packageName")            val goToMarket = Intent(Intent.ACTION_VIEW, uri)            // To count with Play market backstack, After pressing back button,             // to taken back to our application, we need to add following flags to intent.             goToMarket.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY or                    Intent.FLAG_ACTIVITY_NEW_DOCUMENT or                    Intent.FLAG_ACTIVITY_MULTIPLE_TASK)            try {                startActivity(goToMarket)            } catch (e: ActivityNotFoundException) {                startActivity(Intent(Intent.ACTION_VIEW,                        Uri.parse("http://play.google.com/store/apps/details?id=$packageName")))            }

Option 2:is to use resolveActivity instead of try..catch

if (sendIntent.resolveActivity(getPackageManager()) != null) {     startActivity(chooser);} else {    openUrl();}


Here is a working and up to date code :)

/** Start with rating the app* Determine if the Play Store is installed on the device** */public void rateApp(){    try    {        Intent rateIntent = rateIntentForUrl("market://details");        startActivity(rateIntent);    }    catch (ActivityNotFoundException e)    {        Intent rateIntent = rateIntentForUrl("https://play.google.com/store/apps/details");        startActivity(rateIntent);    }}private Intent rateIntentForUrl(String url){    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(String.format("%s?id=%s", url, getPackageName())));    int flags = Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_MULTIPLE_TASK;    if (Build.VERSION.SDK_INT >= 21)    {        flags |= Intent.FLAG_ACTIVITY_NEW_DOCUMENT;    }    else    {        //noinspection deprecation        flags |= Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET;    }    intent.addFlags(flags);    return intent;}

Put the code in the Activity you would like to call it from.
When the user clicks a button to rate the app, just call the rateApp() function.


I always use this code:

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=PackageName")));