Ich versuche einige Bilder, die in der App aufgenommen wurden, in der Galerie sichtbar zu machen (damit sie geteilt und außerhalb der App angesehen werden können), aber ich möchte die Bilder selbst im Datenverzeichnis der App behalten Wenn die App gelöscht wird, werden sie entfernt (also in "{sdcard} / Android / data / {appID} / Pictures / {subfolder} /" ).
Ich habe mir viele Antworten angesehen und für ältere Versionen von Android funktionieren beide der folgenden Lösungen, aber sie scheinen nicht in Lollipop zu funktionieren:
%Vor%Ich habe das in einem Nexus 4 (Android 5.0.1) und einem Nexus 6 (Android 5.1) getestet und es funktioniert nicht. In einem Nexus 7 (Android 4.2.2) funktioniert es. Alle 3 Geräte haben eine ".onmedia" -Datei im Ordner {sdcard} / Android / data / , so dass kein normaler Medienscan sie aufnehmen sollte ...
Kennt jemand eine Arbeit, um dies auf allen Geräten / Android-Versionen funktionieren zu lassen? Sollte das wegen der noMedia-Datei überhaupt nicht funktionieren und ist Lollipop die einzige Version, die das richtig macht?
Bearbeiten: Beachten Sie, dass auch ein Neustart des Telefons (der ebenfalls einen erneuten Scan von Dateien auslösen sollte) nicht funktioniert. Und das aus gutem Grund, da sich die Dateien in einem Unterordner eines ".nomedia" -Verzeichnisses befinden ... Also ist jede Lösung, die eine MEDIA_MOUNTED-Sendung enthält, meiner Meinung nach nutzlos.
Ich würde vorschlagen, dass Sie einen Blick auf meine Antwort werfen hier . Es fasst alle Ergebnisse um MediaScanner
zusammen, die ich gemacht habe.
Randnotiz: Alle KitKat
Probleme scheinen auch bei Lollipop
zu bleiben.
Ich bin mir nicht sicher, ob der Medieninhaltsanbieter Leseberechtigungen für Ihr lokales Datenverzeichnis erhält, das die Imagines enthält. Ohne die Berechtigungen könnte Ihr Galerie-Approach nicht funktionieren.
Um herauszufinden, ob es möglich ist, können Sie versuchen, Referenzen auf Ihre lokalen Bilder in die androids-Mediendatenbank selbst mittels
zu setzen %Vor%Hier ist der Quellcode eines Medienscanners, der alle notwendigen Codefragmente enthalten sollte, um die Werte eines jpg
zu füllen Da Sie gesagt haben, dass der Ordner {sdcard} / Android / data / eine .nomedia-Datei enthält, können wir eine Sendung für die MediaScanner
senden, um die Unterordner des Ordners zu durchsuchen, die enthalten .nomedia-Datei, indem Sie den Pfad des Unterordners mithilfe des folgenden Befehls angeben.
Tags und Links android android-5.0-lollipop android-gallery android-file android-mediascanner