2009-12-27 16 views
9

Sto sviluppando una versione Lite per un'app su Android. Come posso iniziare un intento per aprire Android Market, preferibilmente con la versione completa della mia app visualizzata? Questo è difficile da testare su un emulatore (che è la cosa più vicina a un dispositivo che ho), in quanto non sembra esserci alcun modo legale per installare Market su di esso.Avvia Android Market dall'app

risposta

23

risposta Trovato in fine:

Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setData(Uri.parse("market://search?q=pname:MyApp")); 
startActivity(intent); 

Non c'è modo di test sull'emulatore, però.

+0

è che ogni bandiera posso impostare per l'intento di impedire a Google giocare mostrando pulsante di apertura per la mia app. http://stackoverflow.com/questions/10185326/opening-my-application-from-google-play-app-crashes-on-exit/10185486#10185486 http://stackoverflow.com/questions/10174892/extended-application -class-force-close-on-restart-android # comment13073329_10174892 –

+0

Questo apre il mercato in vista della stessa applicazione, per aprire davvero il mercato guarda separatamente la mia risposta. –

+0

Che dire dello sviluppatore? Come aprire il nome dello sviluppatore per tutte le applicazioni ?? –

29

quella query sopra funziona, ma quando l'ho provato, sembrava che stava portando i risultati delle ricerche in base al nome.

Se si usa qualcosa come

intent.setData(Uri.parse("market://details?id=com.wolinlabs.SuperScorepad")); 

invece, si andrà direttamente alla pagina Android Market per la tua app.

penso che sia più quello che si voleva (?)

+0

grazie mille amico per questo .. voglio sapere se c'è Url per aprire più app da uno sviluppatore ???? Url Url apre l'applicazione .. C'è un'opzione per vedere più app .. Voglio l'URL per quello .. :) –

+0

Sì, c'è, è descritto nelle linee guida di pubblicazione [link] (http: // developer. android.com/guide/publishing/publishing.html). Utilizza questo: ** market: // search? Q = pub: ** –

+0

Questo apre il mercato in vista della stessa applicazione, per aprire davvero il mercato separatamente guarda la mia risposta. –

1

Ciao Stavo cercando l'ottenere lo stesso, ma con una piccola differenza

non volevo per aprirlo embedded sul mio APP

public void start(JSONArray args, CallbackContext callback) { 

    Intent launchIntent; 
    String packageName; 
    String activity; 
    String uri; 
    ComponentName comp; 

    try { 
     packageName = args.getString(0); //com.android.vending 
     activity = args.getString(1); //com.google.android.finsky.activities.LaunchUrlHandlerActivity 
     uri   = args.getString(2); //'market://details?id=com.triplingo.enterprise' 

     launchIntent = this.cordova.getActivity().getPackageManager().getLaunchIntentForPackage(packageName); 
     comp = new ComponentName(packageName, activity); 
     launchIntent.setComponent(comp); 
     launchIntent.setData(Uri.parse(uri)); 

     this.cordova.getActivity().startActivity(launchIntent); 
     callback.success(); 
    } catch (Exception e) { 
     callback.error(e.toString()); 
    } 
} 

LA DIFFERENZA GRANDE qui è che si avvia una nuova applicazione non solo mostrare GOOGLE giocare nel vostro APP

Questo codice è parte di un plug-in Cordova ma è abbastanza ovvio che cosa è necessario fare per utilizzarlo in modo nativo.

le righe importanti

launchIntent = this.cordova.getActivity().getPackageManager().getLaunchIntentForPackage(packageName); 
comp = new ComponentName(packageName, activity); 
launchIntent.setComponent(comp); 
launchIntent.setData(Uri.parse(uri)); 

saluti

Problemi correlati