Я не могу удалить картинку из локального хранилища.Я хочу, чтобы это произошло: удалите старую картинку, добавьте новую картинку с тем же именем.Когда я меняю имя картинки, она без проблем загружается как новая.Но когда я не меняю его название, это показывает старую картинуЯ попытался context.deleteFile (имя файла).file.exists возвращает false после удаления, но изображение все еще там.Решение с перезаписью может быть полезным.У меня также есть разрешения внешнего хранилища в манифесте.Спасибо!
Удаление:
void deleteOldPicture(String filename, Context context){
File file = new ImageSaver(context).setFileName(filename).setDirectoryName("images").createFile();
file.delete();
}
Создание файла
File createFile() {
File directory;
if(external){
directory = getAlbumStorageDir(directoryName);
}
else {
directory = context.getDir(directoryName, Context.MODE_PRIVATE);
}
return new File(directory, fileName);
}
private File getAlbumStorageDir(String albumName) {
File file = new File(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES), albumName);
if (!file.mkdirs()) {
Log.e("ImageSaver", "Directory not created");
}
return file;
}
Сохранение файла:
private String saveFileInSD(String name, ImageView image){
String filename = name+parentId+".png";
Log.e("Filename is", filename);
new ImageSaver(getApplicationContext()).setFileName(filename).setDirectoryName("images").save(((BitmapDrawable) image.getDrawable()).getBitmap());
return filename;
}