Не могу получить доступ к файлам на sd карте
Пытаюсь получить список всех файлов .txt на sd карте (есть 1 созданный через device file explorer файл), но программа не видит этот файл. Создать файл на sd карте программно не получается.
Пробовала метод getExternalStorageDirectory, программа проходится по всем папкам, в папках Android/data и Android/obb происходит ошибка java.lang.NullPointerException: Attempt to get length of null array ( как я понимаю, список файлов в этих папках при вызове метода listFiles пустой, то есть нет никаких папок внутри).Пыталась создать файл .txt по пути, выданном этим методом, не получалось.
Пробовала метод getExternalFilesDir(null), выдает путь /storage/emulated/0/Android/data/com.example.speedreading/files, по этому пути мне удалось создать файл .txt и программа его видит. Но почему при вызове прошлого метода в папке data не было замечено никаких папок, если сейчас тут есть папка com.example.speedreading ?
Пробовала метод getExternalFilesDirs(null), но та же история.
Разрешения write(read)_external_storage в манифесте прописывала, использовала в программе код для динамического запроса разрешений (проверка наличия, если нет разрешений - вызывается диалоговое окно с просьбой дать разрешение).
Запускала приложение на телефоне, а не на эмуляторе. В нем на sd в разных папках раскидала .txt файлы, все равно не видит файлы.
Получается, что записать и найти файлы могу только по пути /storage/emulated/0/Android/data/com.example.speedreading/files. Но мне нужно находить файлы на всей sd карте, а не только в этой папке
P.S через file explorer не могу посмотреть содержимое папки Android/data, пишет Permission denied
public void initList(String path) {
try {
String filename;
File file = new File(path);
File[] filelist = file.listFiles();
for (File f : filelist) {
if (f.isDirectory()) {
initList(f.getAbsolutePath() + "/");
} else {
filename = f.getName();
if (filename.endsWith(".txt")) {
list.add(new TxtFile(filename, f.getAbsolutePath()));
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
} ```