Подтвердить что ты не робот

Android MediaScanner: удалить файлы изображений из галереи

Я разрабатываю приложение, которое скрывает файлы изображений в приложении галереи. Для этого я создаю файл .nomedia и запрашиваю обновление MediaScanner.

Этот метод работает для случая, когда я должен показывать скрытые файлы, т.е. удалять файл .nomedia и проверять каждый файл, присутствующий в этой папке, для показа в галерее. Но когда я хочу скрыть изображения, поместив файл .nomedia, а затем попросив MediaScanner отсканировать все файлы в этой папке, не скрывать эти фотографии из галереи.

Я использую следующий код для сканирования файла

private void refreshPic(String path) {
    Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
    File f = new File(path);
    Uri contentUri = Uri.fromFile(f);
    mediaScanIntent.setData(contentUri);
    this.sendBroadcast(mediaScanIntent);
}

Я делаю это правильно? Или удаление файлов из Media Store требует каких-то других вещей?

Тестирующее устройство: Nexus 5 (4.4.2)

Спасибо.

4b9b3361

Ответ 2

Я добавил файл .nomedia в нашу корневую папку приложения, и через день или около того (перезагрузка, похоже, делает это быстрее) файлы были удалены из галереи пользователя без каких-либо других вызовов в медиа-сканер.

Увидели это поведение на Android 4.4.2 и 6.0.1.