Простой вопрос, но я нигде не мог найти ответ (все ответы требуют рутирования на Android Marshmallow, потому что ftp-клиенты не включают разрешение на запись на SD-карту). У меня есть огромный файл, который слишком велик для загрузки во внутреннюю память. Поэтому его можно загрузить только на SD-карту напрямую. Также кажется, что никакие внутренние приложения не имеют разрешения на запись на SD-карту, поэтому я не могу напрямую использовать инструменты командной строки.
Поскольку файл огромен, мне также нужно иметь возможность приостанавливать и возобновлять загрузку.
Я использую синхронизацию папок.
Но это зависит от вашей версии Android. Если у вас 5.1 или выше, разработчики приложений должны включить Environment.getExternalStorage.....
ПРИМЕР ИСПОЛЬЗОВАНИЯ ФАЙЛА
File file = new File(Environment.getExternalStorageDirectory(), "myfile.txt");
вместо старого жестко закодированного способа.
File file = new File("SDCard", "myfile.txt");
Для получения дополнительной информации о возобновлении паузы с FTP я включил ссылку на вопрос разработки, касающийся возобновления паузы на клиентах Android.
Разработка FTP-клиента с Pause Resume на Android
Для эмулятора терминала вы должны запустить
getprop vold.path.external_sd
затем попробуйте запустить внешний каталог как возвращенный
НЕТ
sdcard/download/txt.txt
СКОРЕЕ
storage/sdcard0/download/txt.txt
Обычно это только один каталог / устаревший каталог больше не доступен. поэтому вам нужно получить фактический путь с помощью некоторой команды...
getprop
getprop вернет все текущие системные свойства, включая пути к хранилищу и результаты состояния сети.
Ирфан Латиф
пользователь 2284570
Ирфан Латиф
Android/data/
каталог) загружаемого приложения. Вы можете использовать любое приложение с графическим интерфейсом клиента FTP или утилиту CLI. Если приложение использует SAF API, возможна запись на SD-карту в любой каталог.