Bilddatei in der Android-Galerie auf Lollipop sichtbar machen

8

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.

    
Kasium 23.04.2015, 12:38
quelle

5 Antworten

6

Probieren Sie den folgenden Code aus. Es funktioniert für mich in Lollipop , Hope arbeitet auch für dich

%Vor%

BEARBEITEN: Vergessen Sie nicht, dies zu Ihrem Manifest hinzuzufügen (obwohl es in Lollipop nicht mehr notwendig sein sollte):

%Vor%     
Lokesh 10.05.2015, 09:54
quelle
2

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.

    
Sebastiano 03.05.2015 19:55
quelle
0

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
k3b 04.05.2015 08:38
quelle
0

Nachdem Sie das Bild gespeichert haben, rufen Sie die Scanmethode auf, um die Galerie zu scannen. Es werden die Bilder in der Galerie angezeigt.

%Vor%     
Jithu P.S 04.05.2015 12:05
quelle
0

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.

%Vor%     
Kartheek 09.05.2015 10:37
quelle