So aktualisieren Sie den MediaStore von Android beim Löschen von Fotos

Frage: Wie kann der Medienspeicher veranlasst werden, den Eintrag einer gelöschten Datei zu aktualisieren?

Nach dem Löschen eines Fotos im Code vom externen Speicher wird in der Galerie immer noch ein Steckplatz für das gelöschte Foto angezeigt - leeres Foto.

Es scheint, dass die Galerie den Medienspeicher widerspiegelt und das gelöschte Foto im Medienspeicher gefunden wird, bis das Telefon neu gestartet wird oder im Allgemeinen, bis das Medium erneut gescannt wird.

Es wurde versucht, die gelöschte Datei zu scannennicht Hilfe beim Scannen gelöschter Dateien (funktioniert nur für neue oder vorhandene Dateien):MediaScannerConnection.scanFile(Application.get(), new String[]{file.getPath()}, null, null) (Ich habe auch versucht, den übergeordneten Ordner zu scannen).

Auch ausprobiertACTION_MEDIA_SCANNER_SCAN_FILE umsonst. Beispiel:Application.get().sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(file)))

Das Senden eines Rundfunkempfängers zum erneuten Durchsuchen des gesamten externen Speichers (wodurch der Medienspeicher aktualisiert wird) hat den Trick ausgeführt:Application.get().sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.fromFile(Environment.getExternalStorageDirectory())))

ABER es scheint, dass Android ab4.4, löst eine Sicherheitsausnahme aus, wenn versucht wird, die ACTION_MEDIA_MOUNTED-Systemübertragung manuell zu senden. Siehe @ CommonsWares Beitrag:http://commonsware.com/blog/2013/11/06/android-4p4-permission-regressions.html

Daher habe ich keine Lösung zum Aktualisieren des Medienspeichers beim Löschen von Dateien (/ photo / video / etc.).

Antworten auf die Frage(4)

Ihre Antwort auf die Frage