Всем, Привет! Сейчас работаю над одним приложением под Android для манипуляций с файлами. Столкнулся с одной непоняткой... Допустим у вас есть где-то на диске какой нибудь файл фотографии. Он у вас будет отображаться в приложении галерея в виде предпросмотра. И вот вы захотели его удалить с помощью свой программы использовав что то типа этого:
existingFile.delete();
И вот логично было бы предположить что после такой операции он должен оттуда исчезнуть. В моём случае он из галереи не исчезает, но при нажатии открыть выскакивает ошибка. (Т.е. файла фактически физические уже нет а в галереи он еще светится). Проблема исчезает при перезагрузке устройства. Но может есть ещё другое решение? Может нужно использовать какой нибудь широковещательный интент?
Все правильно, Gallery это БД, которую надо обновлять после манипуляций с изображениями. Делается это так:
existingFile.delete();
context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(existingFile)));
Этот бродкаст ловится приложением галереи и он сам обновит информацию о файле
Сборка персонального компьютера от Artline: умный выбор для современных пользователей