Я разрабатываю приложение для Android для Android 8.0 , где мне нужно открывать / читать и удалять файлы с внешнего накопителя / SD-карты.
Моя проблема в том, что File file[] = directory.listFiles()
возвращает NULL, но в каталоге есть файл.
Вот представление отладчика из моего приложения:
Как видите, я получаю путь к файлу в виде URI через запрос Intent (переменная resource
). В настоящее время на SD-карте выбрана папка Test
.
Затем я хочу получить все файлы в этом каталоге, но функция listFiles()
всегда возвращает NULL! Но в папке 1 изображение:
Интересно, что этот код работает на Android 4.4, 5.0, 6.0 и 7.0, но не на Android 8!
Разрешения устанавливаются в Manifest.xml и запрашиваются / проверяются при каждом запуске:
Примечание: Android показывает только 1 запрос на разрешение при запуске приложения, но не должен ли он запрашивать 2 разрешения?
Надеюсь, кто-то из вас поможет мне решить проблему.
С уважением,
Michael