Pregunta simple, pero no pude encontrar la respuesta en ninguna parte (todas las respuestas requieren rootear Android Marshmallow porque los clientes ftp no incluyen el permiso para escribir en la tarjeta SD). Tengo un archivo enorme que es demasiado grande para descargarlo en el almacenamiento interno. Por lo tanto, solo se puede descargar directamente en la tarjeta SD. También parece que ninguna aplicación externa tiene permiso para escribir en la tarjeta SD, por lo que no puedo usar las herramientas de línea de comandos directamente.
Como el archivo es enorme, también necesito poder pausar y reanudar las descargas.
Yo uso la sincronización de carpetas.
Pero depende de su versión de Android. Si tiene 5.1 o superior, los desarrolladores de la aplicación deben incluir Environment.getExternalStorage...
EJEMPLO DE USO DE ARCHIVOS
File file = new File(Environment.getExternalStorageDirectory(), "myfile.txt");
en lugar de la antigua forma codificada.
File file = new File("SDCard", "myfile.txt");
Para obtener más información sobre pausar reanudar con FTP, he incluido un enlace a una pregunta de desarrollo sobre pausar reanudar en clientes de Android
Sincronización de carpetas gratis
Desarrollo de un cliente FTP con pausa en el currículum en Android
Para el emulador de terminal, debe ejecutar
getprop vold.path.external_sd
luego intente ejecutar el directorio externo como se devolvió
NO
sdcard/download/txt.txt
BASTANTE
storage/sdcard0/download/txt.txt
Por lo general, solo se puede acceder a un directorio / directorio heredado. por lo que necesita obtener la ruta real con algún comando ...
getprop
getprop devolverá todas las propiedades actuales del sistema, esto incluye las rutas de almacenamiento y los resultados del estado de la red
Irfan Latif
usuario2284570
Irfan Latif
Android/data/
directorio interno) de la aplicación de descarga. Puede usar cualquier aplicación GUI de cliente FTP o utilidad CLI. Si la aplicación utiliza API SAF, es posible escribir en la tarjeta SD en cualquier directorio.