Wir haben Anwendungen programmgesteuert installiert.
- Wenn die Anwendung bereits auf dem Gerät installiert ist, wird die Anwendung automatisch geöffnet.
- Andernfalls installieren Sie die jeweilige Anwendung.
Führe mich. Ich habe keine Ahnung. Vielen Dank.
Antworten:
Versuchen Sie es damit:
quelle
Etwas sauberere Lösung als die akzeptierte Antwort (basierend auf dieser Frage ):
Ich habe es als statisches Dienstprogramm in eine Hilfsklasse eingeordnet. Anwendungsbeispiel:
Diese Antwort zeigt, wie Sie die App aus dem Play Store erhalten, wenn die App fehlt. Bei Geräten ohne Play Store ist jedoch Vorsicht geboten.
quelle
Der obige Code hat bei mir nicht funktioniert. Der folgende Ansatz hat funktioniert.
Erstellen Sie ein Intent-Objekt mit den entsprechenden Informationen und überprüfen Sie mithilfe der folgenden Funktion, ob das Intent aufrufbar ist oder nicht:
quelle
if
Aussagen verwenden! Dies ist definitiv die richtige AntwortIntent intent = getPackageManager().getLaunchIntentForPackage("org.package.name");
Wenn Sie den Paketnamen kennen, funktioniert dies, ohne einen Try-Catch-Block zu verwenden oder eine Reihe von Paketen zu durchlaufen:
quelle
return !list.isEmpty();
wäre mehr Java-Stil freundlichDieser Code überprüft, ob die App installiert ist, überprüft aber auch, ob sie aktiviert ist.
quelle
Ich denke, die Verwendung von Try / Catch-Mustern ist für die Leistung nicht sehr gut. Ich rate dazu:
quelle
Sauberere Lösung (ohne Try-Catch) als die akzeptierte Antwort (basierend auf der AndroidRate Library ):
quelle
Kotlin-Erweiterung erstellen.
Jetzt können Sie überprüfen, ob die App installiert ist oder nicht
quelle
Versuche dies
quelle
Eine einfachere Implementierung mit Kotlin
Und nennen Sie es so (auf der Suche nach Spotify-App):
quelle
@Egemen Hamutçus Antwort in Kotlin B-)
quelle
Alle Antworten überprüfen nur, ob eine bestimmte App installiert ist oder nicht. Wie wir alle wissen, kann eine App installiert, aber vom Benutzer deaktiviert und unbrauchbar gemacht werden.
Daher prüft diese Lösung beide. dh installierte UND aktivierte Apps .
Rufen Sie die Methode auf
isPackageInstalled()
:Verwenden
isAppInstalled
Sie jetzt die boolesche Variable und machen Sie, was Sie wollen.quelle
Eine coole Antwort auf andere Probleme. Wenn Sie beispielsweise nicht zwischen "com.myapp.debug" und "com.myapp.release" unterscheiden möchten!
quelle
So schön mit Kotlin Suger:
quelle