2010-08-09 10 views
15

Sto creando molte app per Android e desidero avere un pulsante di menu nelle app che in pratica apre un elenco delle mie altre app nell'Android Market.Android Link to Market dall'interno di un'altra app

C'è un modo per creare un intento e avere il mercato Android pop-up con una ricerca (della mia azienda) nel mercato così gli utenti possono acquistare altre app?

Ian

risposta

22

Sì, c'è un documented Intent syntax per questo (o http://market.android.com/search?q=pub:<Developer Name>market://search?q=pub:<Developer Name>).

+1

c'è un legame aggiornato per Google Play o è ancora "mercato" – gregm

+0

@gregm: sembra che è ancora 'market': http://developer.android.com/guide/publishing/publishing.html#marketintent – CommonsWare

+0

@CommonsWare Sai se funziona ancora? Ho provato su Galaxy S 3 con Play Store 3.7.15 e non funziona se includo "pub:" ma funziona bene se inserisco semplicemente il nome dell'editore come query. Non mi piace farlo in quel modo, anche se altre cose potrebbero essenzialmente presentarsi. – Hamid

4

L'azione intent sarebbe vista e uri il mercato url/uri.

Ti piace questa:

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

Ancora meglio usare "mercato: // dettagli" invece di "mercato: // search":

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

Poi si apre direttamente la pagina dei dettagli di l'applicazione. Con la ricerca mostra un singolo risultato di ricerca e l'utente deve fare un clic aggiuntivo per arrivare alla pagina dei dettagli.

+0

versione semplificata per Android Studio '' 'startActivity (new Intent (Intent.ACTION_VIEW, Uri.parse (" market: // details? id = "+ BuildConfig.APPLICATION_ID)));' '' – gio

2

Sui miei dispositivi reali tablet Sony Xperia Pro e PocketBook, anche quando si inserisce un collegamento per riprodurre il negozio web ad es. https://play.google.com/store/apps/details?id=com.estrongs.android.pop Chiederà se si desidera aprirlo nel browser predefinito o nel mercato Play. Se si seleziona Play market - l'applicazione viene mostrata come previsto. Non testarlo con intento, testato con Autolink da TextView.

3

Un altro modo è di lanciare un URL Intent con il nome del pacchetto dell'applicazione in esso contenuto. L'utente riceverà popup con l'elenco dei browser installati + Play Store app in cui è possibile visualizzare l'app di destinazione.

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

Sopra codice viene testato e funziona come previsto su Play Store la versione 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); 
} 
Problemi correlati