Abrir el enlace de Google Play Store en la versión móvil de Android

Tengo un enlace de mis otras aplicaciones en mi última aplicación, y las abro de esa manera.

Uri uri = Uri.parse("url"); Intent intent = new Intent (Intent.ACTION_VIEW, uri); startActivity(intent); 

este código abre la versión de navegador de google play store.

Al intentar abrir desde mi teléfono, el teléfono me pregunta si quiero usar un navegador o google play y si elijo el segundo, abre la versión móvil de google play store.

¿Puedes decirme cómo puede suceder esto a la vez? Quiero decir, no me pregunten, sino que abran directamente la versión móvil de Google Play, la que veo mientras la abro directamente desde el teléfono.

Querrá utilizar el protocolo de market especificado:

 final String appPackageName = "com.example"; // Can also use getPackageName(), as below startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName))); 

Tenga en cuenta que esto se bloqueará en cualquier dispositivo que no tenga Market instalado (el emulador, por ejemplo). Por lo tanto, sugeriría algo como:

 final String appPackageName = getPackageName(); // getPackageName() from Context or Activity object try { startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName))); } catch (android.content.ActivityNotFoundException anfe) { startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://play.google.com/store/apps/details?id=" + appPackageName))); } 

Al utilizar getPackageName() desde el Context o la subclase del mismo para coherencia (gracias @cprcrack !). Puede encontrar más sobre Intentos de mercado aquí: enlace .

A continuación, el código puede ayudarte a visualizar el enlace de la aplicación de Google Play Dolor en la versión móvil.

Para el enlace de la aplicación:

 Uri uri = Uri.parse("market://details?id=" + mContext.getPackageName()); Intent myAppLinkToMarket = new Intent(Intent.ACTION_VIEW, uri); try { startActivity(myAppLinkToMarket); } catch (ActivityNotFoundException e) { //the device hasn't installed Google Play Toast.makeText(Setting.this, "You don't have Google Play installed", Toast.LENGTH_LONG).show(); } 

Para el enlace del desarrollador:

 Uri uri = Uri.parse("market://search?q=pub:" + YourDeveloperName); Intent myAppLinkToMarket = new Intent(Intent.ACTION_VIEW, uri); try { startActivity(myAppLinkToMarket); } catch (ActivityNotFoundException e) { //the device hasn't installed Google Play Toast.makeText(Settings.this, "You don't have Google Play installed", Toast.LENGTH_LONG).show(); } 

Puede usar la biblioteca Android Intents para abrir la página de su aplicación en Google Play así:

 Intent intent = IntentUtils.openPlayStore(getApplicationContext()); startActivity(intent); 

Puede verificar si la aplicación Google Play Store está instalada y, si este es el caso, puede usar el protocolo “market: //” .

 final String my_package_name = "........." // < - HERE YOUR PACKAGE NAME!! String url = ""; try { //Check whether Google Play store is installed or not: this.getPackageManager().getPackageInfo("com.android.vending", 0); url = "market://details?id=" + my_package_name; } catch ( final Exception e ) { url = "https://play.google.com/store/apps/details?id=" + my_package_name; } //Open the app page in Google Play store: final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); startActivity(intent); 

Abra la página de la aplicación en Google Play:

 Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + context.getPackageName())); startActivity(intent);