Я создаю файловый менеджер для Android, и последнее, что мне нужно сделать, - это получить доступ к файлам SD-карты.
И у меня есть несколько вопросов по этому поводу.
Я использую Environment.getExternalStorageDirectory()
, чтобы получить внутренний путь хранения (/storage/emulated/0/
). И, как я знаю, это неправильный путь, потому что метод может возвращать либо внутреннюю память, либо путь SD-карты. Так, как правильно получить внутреннее хранилище?
Также используйте следующий код для получения пути SD-карты:
String sd = context.getExternalFilesDirs("")[1].getAbsolutePath();
mPath = sd.substring(1,sd.indexOf("/Android/"));
С этим кодом я получаю правильный путь для sd, но не могу работать с файлами на sd-карте (я получаю ошибку прав доступа, но у меня есть все необходимые разрешения).
Итак, вопросы: как правильно получить внутренний путь к хранилищу и путь SD-карты на Android (и как я могу взаимодействовать с файлами SD-карты, если там не работает класс File)?