Android: Wie wird der Dateiname des Installers programmatisch abgerufen?

8

es ist möglich, den Namen der Installerdatei zu erhalten, die auf / sdcard / gespeichert ist herunterladen/ ? Ich möchte von app, apk Dateiname, der es installiert. Es gibt einen einfachen Weg, es speziell mit Nicht-Markt-App zu tun?

    
Wolfie 03.01.2011, 08:14
quelle

2 Antworten

2

Der bessere Weg ist definitiv, die Versionszeichenfolge in das Manifest aufzunehmen. Dies ist wirklich die einzige zuverlässige (und professionelle) Methode. Android speichert den Namen der Datei, die die APK enthält, nirgendwo, daher gibt es keine Möglichkeit, sie zu bekommen.

Theoretisch könnte man etwas mit FileObserver erstellen, das die Dateierstellung in bestimmten Verzeichnissen überwacht und jedes Mal, wenn eine Datei mit der Erweiterung .apk erstellt wurde, die Datei öffnen, das Manifest extrahieren und den Paketnamen finden die APK und speichern Sie diese zusammen mit dem Dateinamen in einem persistenten Speicher. Wenn Sie dann die Versionsinformationen benötigen, können Sie im persisten-Speicher nach dem Dateinamen suchen, der dem Paketnamen entspricht, den Sie benötigen.

Natürlich funktioniert das nur, wenn Ihre App auf dem Gerät installiert wurde bevor die anderen APK-Dateien heruntergeladen / installiert wurden. Dies würde nicht funktionieren, um den Dateinamen Ihrer eigenen Anwendung herauszufinden.

    
David Wasser 07.12.2015 12:58
quelle
1

Hmm, ich bin mir nicht sicher, was Sie mit SD-Karte oder Download-Ordner meinen, aber Sie könnten apk Pfad im System / Daten-Verzeichnis bekommen:

Befehlszeile:

%Vor%

oder von Ihnen Android-Anwendungscode: (einfach Prozess ausführen)

%Vor%

Der obige Code sollte Ihnen einfach die Zeichenfolge "package: /data/app/mk.trelloapp-1/base.apk"

geben

Wenn Sie den Pfad im Verzeichnis / data ermitteln, können Sie versuchen, dieselbe (ähnliche) Datei in anderen Verzeichnissen zu suchen (vorausgesetzt, sie wurde nicht gelöscht), da das Android-Paket während der Installation in das Verzeichnis / data kopiert wird.

    
Max 10.12.2015 06:50
quelle