2010-08-09 4 views
15

Je construis de nombreuses applications pour Android et souhaite avoir un bouton de menu dans les applications qui ouvre essentiellement une liste de mes autres applications dans l'Android Market.Android Lien vers le marché à partir d'une autre application

Y a-t-il un moyen de créer une intention et de faire apparaître le marché Android avec une recherche (de mon entreprise) sur le marché afin que les utilisateurs puissent acheter d'autres applications?

ian

Répondre

22

Oui, il y a un documented Intent syntax pour que (http://market.android.com/search?q=pub:<Developer Name> ou market://search?q=pub:<Developer Name>).

+1

est-il un lien mis à jour pour Google Play ou est-il encore "marché" – gregm

+0

@gregm: On dirait qu'il est toujours 'market': http://developer.android.com/guide/publishing/publishing.html#marketintent – CommonsWare

+0

@CommonsWare Savez-vous si cela fonctionne encore? J'ai essayé sur un Galaxy S 3 avec Play Store 3.7.15 et cela ne fonctionne pas si j'inclus "pub:" mais fonctionne bien si je viens de mettre le nom de l'éditeur comme requête. Je n'aime pas le faire de cette façon bien que d'autres choses pourraient essentiellement se présenter. – Hamid

4

L'action d'intention serait view, et uri le marché url/uri.

Comme ceci:

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

Mieux encore d'utiliser "marché: // détails" au lieu de "marché: // search":

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

Ensuite, il ouvre directement la page de détails l'application. Avec la recherche, il affiche un seul résultat de recherche et l'utilisateur doit faire un clic supplémentaire pour accéder à la page détaillée.

+0

version simplifiée pour Android Studio '' 'startActivity (nouvelle intention (Intent.ACTION_VIEW, Uri.parse (" market: // details? id = "+ BuildConfig.APPLICATION_ID)));' '' – gio

2

Sur mes vrais appareils Sony Xperia Pro et PocketBook tablette, même lorsque vous mettez un lien pour jouer boutique en ligne e.g. https://play.google.com/store/apps/details?id=com.estrongs.android.pop Il vous demandera si vous souhaitez l'ouvrir dans le navigateur par défaut ou dans le marché du jeu. Si vous sélectionnez Play market - l'application est affichée comme prévu. N'a pas testé avec intention, testé avec Autolink à partir de TextView.

3

Une autre méthode consiste à lancer un URL Intent avec le nom de votre application dans celui-ci. Utilisateur obtiendrez popup avec la liste des installés Navigateurs + Play Store application dans laquelle il peut voir votre application cible.

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

code ci-dessus est testé et fonctionne comme prévu sur Play version magasin 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); 
} 
Questions connexes