Ich muss erkennen, dass meine Anwendung von Google Play oder anderen Markt installiert ist, wie könnte ich diese Informationen erhalten?Woher weiß man, dass eine Anwendung von Google Play oder Side-Load installiert ist?
Antwort
Die Klasse PackageManager
liefert die getInstallerPackageName-Methode, die Ihnen den Paketnamen des installierten Pakets mitteilt. Seitengeladene Apps enthalten keinen Wert.
BEARBEITEN: Hinweis @ mttmllns 'answer below in Bezug auf den Amazon App Store.
Und FYI apparently die neueste Version des Amazon-Store setzt schließlich PackageManager.getInstallerPackageName()
-"com.amazon.venezia"
als auch mit Google Play-"com.android.vending"
zu kontrastieren.
Kann keine statische Referenz auf die nicht statische Methode getInstallerPackageName (String) vom Typ PackageManager erstellen. –
Jeder Appstore hat eine eigene MarketApp auf Playstore, die wiederum ihre APKs (Pakete) installiert. Der Paketmanager getInstaller ...() gibt den Paketnamen der marketapp zurück, die eine bestimmte apk installiert hat. Z.B. com.amazon.venezia ist der Paketname der amazon marketapp. Ziemlich clever, denn dann kann PlayStore steuern, welche Marketapps vertrauenswürdig sind. Dies soll schließlich alle nicht vertrauenswürdigen Sideloads verhindern. Ich stelle fest, dass die Verbreitung neuer Android OS-Versionen dramatisch sinkt. KitKat könnte zum Defacto-Standard werden. –
Ich benutze diesen Code zu überprüfen, ob ein Build aus einem Geschäft oder Sideload heruntergeladen wurde:
public static boolean isStoreVersion(Context context) {
boolean result = false;
try {
String installer = context.getPackageManager()
.getInstallerPackageName(context.getPackageName());
result = !TextUtils.isEmpty(installer);
} catch (Throwable e) {
}
return result;
}
- 1. Woher weiß man, ob eine App von Google Play oder Amazon heruntergeladen wurde?
- 2. Woher weiß man, dass Zellendaten nicht geändert oder geändert wurden?
- 3. Google Play Bedeutung von „Installiert“
- 4. Woher weiß ASP.NET MVC, dass eine Methode eine Aktionsmethode ist?
- 5. Woher weiß ich, dass eine Seite wirklich vollständig geladen ist?
- 6. Woher weiß man, dass das UI-Keyboard in iOS erschienen ist oder nicht?
- 7. Woher weiß man, ob Benutzer von Google-Anzeigen
- 8. Woher weiß ich, ob das richtige .NET Framework installiert ist?
- 9. Woher weiß die UAC, dass die Anwendung erhöhte Berechtigungen benötigt?
- 10. Woher weiß man, wo eine Ausnahme herkommt?
- 11. Woher weiß ich, ob eine bestimmte App auf dem Benutzergerät installiert ist?
- 12. Woher weiß ich, dass meine Ansicht am vordersten/bedeckt ist?
- 13. Woher weiß ich, dass removeEventListener erfolgreich war?
- 14. Woher weiß man, in welcher Datei eine Konstante definiert ist?
- 15. Woher weiß ich, ob Apache installiert ist oder nicht von Centos 7
- 16. Google Plus +1 eine Google Play-Anwendung?
- 17. Woher weiß Firefox, dass die Seite ein Atom-Feed ist?
- 18. Woher weiß Rails, dass eine Migration durchgeführt wurde?
- 19. Woher weiß Rails, dass Migrationen ausstehen?
- 20. Woher weiß man, ob das Raphael-Objekt versteckt ist?
- 21. RxJS Observable.concat: Woher weiß man, woher das nächste Ergebnis kommt?
- 22. Woher weiß ich, dass eine Formulareingabe geändert wurde?
- 23. Android/Google + Wie man weiß, ob Freunde des Benutzers Anwendung installiert haben
- 24. Woher weiß man, ob ein Telefon angerufen wird oder nicht?
- 25. Woher weiß man, ob der Benutzer Meilen oder Kilometer bevorzugt?
- 26. Woher weiß man, ob eine NSURLResponse aus dem Cache kommt?
- 27. Woher weiß ich, woher eine Nachricht in rabbitMQ gesendet wird?
- 28. Woher weiß ich, welche Version des IIS7 URL Rewrite-Moduls installiert ist?
- 29. Woher weiß ich, welche Facebook-Freunde des Benutzers meine Anwendung installiert haben?
- 30. Woher weiß man, ob ein NSWindow das Frontfenster ist?
Es funktioniert sehr gut. – ttom
@AbhishekB welche Version von Android bist du? Bist du in einem Emulator? – MattC
@AbhishekB Ich kenne keine Möglichkeit, die Entstehung von seitengeladenen Apps zu finden. Ich bin nicht sicher, wie das überhaupt verfolgt werden würde, da es technisch gesehen nur eine APK-Datei ist, die irgendwo auf das Gerät geladen wird und dann vermutlich über den PackageManager installiert wird. – MattC