2010-08-09 42 views
15

Estoy creando muchas aplicaciones para Android y deseo tener un botón de menú en las aplicaciones que básicamente abre una lista de mis otras aplicaciones en Android Market.Android Enlace a Market desde otra aplicación

¿Hay alguna manera de crear un intento y tener el mercado de Android emergente con una búsqueda (de mi compañía) en el mercado para que los usuarios puedan comprar otras aplicaciones?

Ian

Respuesta

22

Sí, hay un documented Intent syntax para que (http://market.android.com/search?q=pub:<Developer Name> o market://search?q=pub:<Developer Name>).

+1

existe un vínculo actualizado para Google Play o es todavía "mercado" – gregm

+0

@gregm: parece que se sigue siendo 'market': http://developer.android.com/guide/publishing/publishing.html#marketintent – CommonsWare

+0

@CommonsWare ¿Sabes si esto todavía funciona? He estado probando un Galaxy S 3 con Play Store 3.7.15 y no funciona si incluyo "pub:" pero funciona bien si acabo de poner el nombre del editor como la consulta. No me gusta hacerlo de esa manera, ya que otras cosas esencialmente podrían aparecer. – Hamid

4

La acción de intento sería view, y uri el url/uri del mercado.

De esta manera:

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://search?q=pub:<developer name>"))); 
65

Incluso mejor usar "mercado: // detalles" en lugar de "market: // search":

Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setData(Uri.parse("market://details?id=com.android.example")); 
startActivity(intent); 

Entonces se abre directamente la página de detalles de la aplicación. Con la búsqueda, muestra un único resultado de búsqueda y el usuario tiene que hacer un clic adicional para acceder a la página de detalles.

+0

versión simplificada para Android Studio '' 'startActivity (nuevo Intento (Intent.ACTION_VIEW, Uri.parse (" market: // details? id = "+ BuildConfig.APPLICATION_ID)));' '' – gio

2

En mis dispositivos reales Sony Xperia Pro y la tableta de bolsillo, incluso cuando pones un enlace para jugar en la tienda web, p. https://play.google.com/store/apps/details?id=com.estrongs.android.pop Te preguntará si deseas abrirlo en el navegador predeterminado o en el mercado Play. Si selecciona Play market, la aplicación se muestra como se esperaba. No lo probé con intención, probado con Autolink desde TextView.

3

Otra forma es abrir un URL Intent con el nombre del paquete de su aplicación. El usuario recibirá una ventana emergente con la lista de navegadores + Play Store aplicación en la que puede ver su aplicación de destino.

String appPackageName = "com.example.android"; 
String url = "https://play.google.com/store/apps/details?id=" + appPackageName; 
Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setData(Uri.parse(url)); 
startActivity(intent); 

Por encima de código es probado y funciona como se esperaba en la versión de Play Store 4.1.6

0
@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch(item.getItemId()) { 
     case R.id.adfree: 
      final String appPackageName = "com.zooohooo.noads"; // Can also use getPackageName(), as below 
      startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName))); 
      return true; 
     case R.id.rate: 
      startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + getPackageName()))); 
      return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 
Cuestiones relacionadas