Я попытался использовать метод удаления контента для удаления файла изображения. Он показывает, что он был удален, но я не вижу никакой разницы, когда я проверяю папку с изображением.Content resolver не может удалить файл изображения
int id = getLastImageId();
int deleted = getContentResolver().delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
MediaStore.Images.Media._ID + "=?", new String[]{ Long.toString(id) });
Log.i("", "total deleted rows:" + deleted);
В LogCat, я могу видеть, что общее количество удаленных строк 1. Вы можете быть уверены, что метод getLastImageId
правильно. Кроме того, я даже пытался удалить все в таблице MediaStore
, но безрезультатно. Например:
int id = getLastImageId();
int deleted = getContentResolver().delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
null, null);
Log.i("", "total deleted rows:" + deleted);
Для этого примера, то общее число строк, удаляемый 834, который все в моем телефоне, но все изображения сохраняется. FYI, изображения, которые я проверяю, находятся на SDCard/DCIM/Camera
Надеюсь получить от вас помощь.
С уважением, Декстер
Я не совсем уверен, что произошло, но после перезагрузки телефона он работает так, как ожидалось. getContentResolver(). delete действительно достаточно, чтобы удалить изображение. Спасибо, в любом случае! – user3300845
ОК прохладно. Рад, что ты нашел свой путь. –