698 Stimmen

Wie öffne ich den Google Play Store direkt aus meiner Android-Anwendung?

Ich habe den Google Play Store mit folgendem Code geöffnet

Intent i = new Intent(android.content.Intent.ACTION_VIEW);
i.setData(Uri.parse("https://play.google.com/store/apps/details?id=my packagename "));
startActivity(i);.

Aber es zeigt mir eine Vollständige Aktionsansicht an, um die Option (Browser/Play Store) auszuwählen. Ich möchte die Anwendung direkt im Play Store öffnen.

0 Stimmen

9voto

Danielvgftv Punkte 507

Kotlin:

Erweiterung:

fun Activity.openAppInGooglePlay(){

val appId = BuildConfig.APPLICATION_ID
try {
    this.startActivity(Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=$appId")))
} catch (anfe: ActivityNotFoundException) {
    this.startActivity(
        Intent(
            Intent.ACTION_VIEW,
            Uri.parse("https://play.google.com/store/apps/details?id=$appId")
        )
    )
}}

Methode:

    fun openAppInGooglePlay(activity:Activity){

        val appId = BuildConfig.APPLICATION_ID
        try {
            activity.startActivity(Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=$appId")))
        } catch (anfe: ActivityNotFoundException) {
            activity.startActivity(
                Intent(
                    Intent.ACTION_VIEW,
                    Uri.parse("https://play.google.com/store/apps/details?id=$appId")
                )
            )
        }
    }

8voto

almalkawi Punkte 1108

Sie können Folgendes tun:

final Uri marketUri = Uri.parse("market://details?id=" + packageName);
startActivity(new Intent(Intent.ACTION_VIEW, marketUri));

Erhalten Sie Referenz hier:

Sie können auch die im akzeptierten Antwort dieser Frage beschriebene Methode ausprobieren: Kann nicht festgestellt werden, ob der Google Play Store auf dem Android-Gerät installiert ist oder nicht

0 Stimmen

Ich habe bereits mit diesem Code versucht, auch zeigt die Option zum Auswählen des Browsers/Play Stores an, da mein Gerät beide Apps installiert hat (Google Play Store/Browser).

0 Stimmen

Für Informationen, wie man den Google Play Store unabhängig (nicht eingebettet in einer neuen Ansicht in der gleichen App) öffnet, bitte überprüfen Sie meine Antwort.

8voto

Khemraj Sharma Punkte 52006

Kotlin

fun openAppInPlayStore(appPackageName: String) {
    try {
        startActivity(Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=$appPackageName")))
    } catch (exception: android.content.ActivityNotFoundException) {
        startActivity(Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=$appPackageName")))
    }
}

8voto

Husnain Qasim Punkte 189

Sehr spät auf der Party Offizielle Dokumente sind hier. Und der beschriebene Code ist

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

Wenn Sie dieses Intent konfigurieren, geben Sie "com.android.vending" in Intent.setPackage() ein, damit Benutzer die Details Ihrer App im Google Play Store-App statt eines Choosers sehen. für KOTLIN

val intent = Intent(Intent.ACTION_VIEW).apply {
    data = Uri.parse(
            "https://play.google.com/store/apps/details?id=com.example.android")
    setPackage("com.android.vending")
}
startActivity(intent)

Wenn Sie eine Instant-App über Google Play Instant veröffentlicht haben, können Sie die App wie folgt starten:

Intent intent = new Intent(Intent.ACTION_VIEW);
Uri.Builder uriBuilder = Uri.parse("https://play.google.com/store/apps/details")
    .buildUpon()
    .appendQueryParameter("id", "com.example.android")
    .appendQueryParameter("launch", "true");

// Optionale Parameter wie Referrer werden an die gestartete
// Instant-App weitergeleitet. Diese Parameter können mit
// Activity.getIntent().getData() abgerufen werden.
uriBuilder.appendQueryParameter("referrer", "exampleCampaignId");

intent.setData(uriBuilder.build());
intent.setPackage("com.android.vending");
startActivity(intent);

Für KOTLIN

val uriBuilder = Uri.parse("https://play.google.com/store/apps/details")
        .buildUpon()
        .appendQueryParameter("id", "com.example.android")
        .appendQueryParameter("launch", "true")

// Optionale Parameter wie Referrer werden an die gestartete
// Instant-App weitergeleitet. Diese Parameter können mit Activity.intent.data abgerufen werden.
uriBuilder.appendQueryParameter("referrer", "exampleCampaignId")

val intent = Intent(Intent.ACTION_VIEW).apply {
    data = uriBuilder.build()
    setPackage("com.android.vending")
}
startActivity(intent)

0 Stimmen

Ich denke, das ist falsch, zumindest Uri.parse("https://play.google.com/store/apps/details?id=. Auf einigen Geräten wird stattdessen der Webbrowser anstatt des Play Markts geöffnet.

0 Stimmen

Der gesamte Code stammt aus den offiziellen Dokumenten. Der Link ist ebenfalls im Antwortcode enthalten und der Code wird hier zur schnellen Referenz beschrieben.

0 Stimmen

@CoolMind Der Grund dafür ist wahrscheinlich, dass diese Geräte eine ältere Version der Play Store-App haben, die keinen Intent-Filter hat, der mit dieser URI übereinstimmt.

7voto

Alexandr Punkte 3709

Ready-to-use solution:

public class GoogleServicesUtils {

    public static void openAppInGooglePlay(Context context) {
        final String appPackageName = context.getPackageName();
        try {
            context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));
        } catch (android.content.ActivityNotFoundException e) { // if there is no Google Play on device
            context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + appPackageName)));
        }
    }

}

Basierend auf der Antwort von Eric.

1 Stimmen

Funktioniert es für dich? Es öffnet die Hauptseite von Google Play, nicht die Seite meiner App.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X