Терминология внутреннего и внешнего хранилища в соответствии с Google / официальной документацией по Android сильно отличается от того, что мы думаем.
Согласно официальным документам Android: -
Внутреннее хранилище : по умолчанию файлы, сохраненные во внутреннем хранилище, являются частными для вашего приложения, и другие приложения не могут к ним обращаться.Когда пользователь удаляет ваше приложение, эти файлы удаляются / удаляются.Пользователь вашего приложения также не может получить к ним доступ с помощью файлового менеджера;даже после включения опции «показывать скрытые файлы» в файловом менеджере.Чтобы получить доступ к файлам во Внутреннем хранилище, вам нужно получить root права на телефон Android.Итак, это НЕ , что мы считаем внутренней памятью телефона - 32 ГБ встроенной памяти Nexus 5.
Внешнее хранилище:
Это может быть съемный носитель (например, SD-карта) или внутренний (несъемный) носитель
Это означает, что оба типа хранилищ, например, 64 ГБ встроенной памяти Nexus 6P и съемный microSDкарта, которую мы вставляем в слот для карты телефона, рассматривается как внешнее хранилище.
Съемное хранилище означает только хранилище карты microSD, а не внутреннюю память.
Для хранения файлов приложенияна SD-карте вы можете использовать метод File[] getExternalFilesDirs (String type)
в классе Context
.Как правило, вторым возвращаемым путем будет путь хранения для карты microSD (если есть).
Примечание: Я отредактировал - сделал мой ответ более полезным после комментария @ Тунаки.