Правильный способ найти путь к SD-карте и в работе с ее файлами - PullRequest
0 голосов
/ 10 июля 2019

Я создаю файловый менеджер для Android, и последнее, что мне нужно сделать, - это получить доступ к файлам SD-карты.

И у меня есть несколько вопросов по этому поводу.

  1. Я использую Environment.getExternalStorageDirectory(), чтобы получить внутренний путь хранения (/storage/emulated/0/). И, как я знаю, это неправильный путь, потому что метод может возвращать либо внутреннюю память, либо путь SD-карты. Так, как правильно получить внутреннее хранилище?

  2. Также используйте следующий код для получения пути SD-карты:

    String sd = context.getExternalFilesDirs("")[1].getAbsolutePath();
    mPath = sd.substring(1,sd.indexOf("/Android/"));
    

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

Итак, вопросы: как правильно получить внутренний путь к хранилищу и путь SD-карты на Android (и как я могу взаимодействовать с файлами SD-карты, если там не работает класс File)?

...