Mein Problem ist, dass ich die Bilder aus dem externen Speicher löschen und ein schwarzer Platzhalter ist immer noch dort auf den Speicherort des gelöschten Bildes verweist.Aktualisieren Galerie nach dem Löschen Bild aus dem externen Speicher
Hier ist Code bitte helfen Sie mir, es zu bekommen.
Vielen Dank im Voraus.
String canonicalPath;
try {
canonicalPath = file.getCanonicalPath();
} catch (IOException e) {
canonicalPath = file.getAbsolutePath();
}
final Uri uri = MediaStore.Files.getContentUri("external");
final int result = contentResolver.delete(uri,
MediaStore.Files.FileColumns.DATA + "=?", new String[]{canonicalPath});
if (result == 0) {
final String absolutePath = file.getAbsolutePath();
if (!absolutePath.equals(canonicalPath)) {
contentResolver.delete(uri,
MediaStore.Files.FileColumns.DATA + "=?", new String[]{absolutePath});
}
}
Problem i in diesem Verfahren unter Pfad als String bin das Senden „/ storage/emulierten /0/Pictures/Sticker/stricker1.jpg " Ist es richtig? Dieses Bild wurde von diesem Ort gelöscht. Nach dem Löschen dieses Bilds rufe ich deleteFromMediaStore() diese Methode auf? –
@Rinkukataria könnte ein Problem mit Ihrem Gerät vorliegen. Der obige Code befindet sich in einer Produktions-App und funktioniert auf Tausenden von Geräten. – fillobotto
Ja, ich verstehe. MatchingIndex.getCount() gibt mir 0 zurück. Bitte sagen Sie mir, was ich im Pfad senden soll /storage/emulate/0/Pictures/Sticker/stricker1.jpg ", File: /// storage/emulated/0 /Pictures/Sticker/stricker1.jpg " Ich habe versucht mit diesen beiden Pfaden, aber es funktioniert nicht. Können Sie mir bitte erklären. –