Wie kann ich überprüfen, ob die App bereits installiert war oder nicht? Ich weiß, dass ich nach der Paketmanager-Klasse für die erste Installationszeit suchen kann, aber der von dieser Methode zurückgegebene Wert kann zurückgesetzt werden, indem die App deinstalliert und neu installiert wird. Ich spreche von Apps, die nicht meine sind, zum Beispiel, wenn ich überprüfen möchte, ob Amazon zuvor installiert wurde oder nicht, wie soll das dann gemacht werden? Ich suchte StackOverflow, aber nichts funktionierte für mich.So überprüfen Sie, ob die App bereits installiert war oder nicht
Antwort
Es gibt keine allgemeine Möglichkeit zu überprüfen, ob eine App auf einem Gerät installiert ist (Aus Sicherheitsgründen, wie Sie sich vorstellen können).
Aber wenn Sie auf eine bestimmte App zielen, können Sie versuchen, zu analysieren, ob es auf der SD-Karte zum Beispiel zugängliche Reste dieser App gibt. Und Ihre App kann dann anhand der Existenz dieser Dateien überprüfen, ob die App installiert wurde oder nicht. Wenn Sie wissen möchten, ob eines Ihrer eigenen Apps auf dem Gerät installiert wurde. Sie können mit dem SDcard-Ansatz gehen und eine Datei auf die SD-Karte schreiben und sie mit Ihrer anderen App lesen.
Ich habe die Idee, danke bro. Ich kann nach dem letzten geänderten Ordner suchen. Wenn der Benutzer es erneut in meiner Anwendung installiert, kann ich erneut prüfen, ob der Wert der letzten Änderung verfügbar ist. Das bedeutet, dass die App zuvor installiert wurde und die Werte dann wieder geändert werden: D. Ich habe Recht? : D –
@AmitKhatkar Ich denke ja, es ist wirklich einfach, wenn Sie überprüfen möchten, ob eine Ihrer eigenen Apps installiert wurde. Aber wenn Sie nicht die Kontrolle über die App haben, die Sie überprüfen möchten, gibt es eine hohe Wahrscheinlichkeit, dass es keine Überreste auf der SD-Karte zum Beispiel gibt. – IIIIIIIIIIIIIIIIIIIIII
Wenn App installiert wurde, wird die erste Installationszeit zurückgegeben, sonst wird 0 zurückgegeben: D 'PackageInfo info = null; lang firstInstallTime = 0; versuchen { info = getPackageManager(). GetPackageInfo (Paket, 0); firstInstallTime = info.firstInstallTime; } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } Log.e ("fireinstall", String.valueOf (firstInstallTime)); ' –
können Sie erreichen diese unter Verwendung von Schreib Datei auf der SD-Karte:
File f = new File("path of your file & sdcard location");
if (f.isDirectory()) {
// Already installed your application get the file
}else{
// First time installed write a file here
f.mkdir();
}
Wenn Benutzer dort Junk-Datei löschen, dann wird diese Datei verloren gehen. Also danach können Sie diese Datei nicht greifen! .. –
Ihr Dateipfad sollte in SD-Karte sein, nicht in Anwendung Cache-Verzeichnis oder getFilesDir(), die nach der Deinstallation der Anwendung entfernt werden kann, sollte es an einem bestimmten Speicherort, der dauerhaft gespeichert ist. –
Versuchen Sie dies auch sein mag hilfreich
// Verwenden Paketnamen, die wir boolean isAppInstalled = appInstalledOrNot ("überprüfen möchten com .check.application ");
if(isAppInstalled) {
//This intent will help you to launch if the package is already installed
Intent LaunchIntent = getPackageManager()
.getLaunchIntentForPackage("com.check.application");
startActivity(LaunchIntent);
Log.i("Application is already installed.");
} else {
// Do whatever we want to do if application not installed
// For example, Redirect to play store
Log.i("Application is not currently installed.");
}
}
private boolean appInstalledOrNot(String uri) {
PackageManager pm = getPackageManager();
try {
pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
return true;
} catch (PackageManager.NameNotFoundException e) {
}
return false;
}
hat es geschafft. Übrigens ist deine Antwort nicht korrekt. Ich möchte keine App starten. Ich möchte nur überprüfen, ob die App installiert wurde oder nicht. –
- 1. Überprüfen Sie, ob IIS installiert ist oder nicht?
- 2. Android: Können Sie überprüfen, ob eine App-Installation neu ist oder bereits eine ältere Version der App installiert wurde?
- 3. Überprüfen Sie, ob die Installation zuerst installiert oder Benutzer App zuvor installiert haben
- 4. Überprüfen Sie, ob der Benutzer bereits angemeldet ist oder nicht
- 5. So überprüfen Sie, ob die URL erreichbar ist oder nicht
- 6. Überprüfen ionischen installiert oder nicht
- 7. Überprüfen Sie, ob die Datei bereits existiert Android funktioniert nicht
- 8. Überprüfen, ob sp_send_dbmail erfolgreich war
- 9. Überprüfen Sie, ob Twitter-Anwendung installiert ist
- 10. So überprüfen Sie, ob Nodejs Knotenmodule in Heroku installiert sind oder nicht
- 11. So überprüfen Sie, ob das erstellte Wetter bereits erstellt wurde
- 12. So überprüfen Sie, ob Office auf einem Server installiert ist
- 13. Laravel - Überprüfen Sie, ob Benutzer bereits
- 14. Überprüfen, ob eine bestimmte Telefonnummer meine App installiert hat oder nicht?
- 15. So überprüfen Sie, ob sekundär jetzt synchronisiert ist oder nicht
- 16. Überprüfen Sie, ob ein Benutzername bereits existiert
- 17. Überprüfen Sie, ob Yahoo Messenger installiert ist
- 18. wie überprüfen, ob Mungo (MongoDB) installiert ist oder nicht
- 19. Überprüfen Sie, ob die SQLite-Datenbank bereits erstellt wurde
- 20. Überprüfen Sie, ob ein Ereignis bereits
- 21. BigQuery - Überprüfen, ob die Tabelle bereits existiert
- 22. Überprüfen Sie, ob die registrierte Benutzer-Mail-Adresse in der Datenbank bereits vorhanden ist oder nicht
- 23. Überprüfen Sie die Datenbank, ob ein bestimmtes Feld bereits existiert
- 24. ansible jar überprüfen, wenn bereits installiert
- 25. So überprüfen Sie, ob die WLAN-Authentifizierung fehlgeschlagen ist
- 26. Überprüfen Sie, ob die App auf dem Gerät existiert
- 27. Überprüfen Sie, ob die Datei bereits in jquery existiert
- 28. Wie zu überprüfen, ob IO.copy_stream erfolgreich war
- 29. So überprüfen Sie, ob meine App Benachrichtigungen anzeigen darf
- 30. Überprüfen Sie, ob die Benutzersitzung null ist oder nicht
Ich bin mir sicher, dass es nicht möglich ist. Sie sollten keinen Zugriff auf die Informationen der Apps haben, die der Benutzer jemals installiert hat. –
@VladMatvienko ich liebte es :) –