Algunas personas aluden al tema de tener espacios en el nombre del archivo. Voy a aclarar
Android se basa en Linux y, por lo tanto, utiliza un sistema de archivos posix. Esto significa que los nombres de archivo con espacios causan problemas. No use espacios si está creando un archivo o directorio; déjelos fuera o use puntos ( .
), guiones ( -
) o guiones bajos ( _
). Para cargar un archivo existente con espacio, debe citar el archivo.
Usando el ejemplo de la pregunta, reemplace:
content://com.android.htmlfileprovider/mnt/sdcard/Documents/To%20Read.html?text/html
con este:
content://com.android.htmlfileprovider/mnt/sdcard/Documents/"To Read.html"?text/html
Si de lo contrario simplemente está abriendo un archivo, puede citar la cadena completa. Me gusta esto:
"/mnt/sdcard/Documents/To Read.html"
Además de los espacios que pueden causar problemas, los sistemas posix permiten caracteres en nombres de archivos que no están permitidos en Windows. Para evitar problemas al copiar archivos entre sistemas, aunque algunos todavía están permitidos en Windows, no incluya los siguientes caracteres en los nombres de archivo:/ \ ? * : % " < > | + # '
Para evitar más problemas, utilice un estilo consistente de mayúsculas en los nombres de archivo. Tenga en cuenta que los sistemas posix distinguen entre mayúsculas y minúsculas, lo que significa que los nombres de archivo distinguen entre mayúsculas y minúsculas. Esto significa que file.txt, FILE.TXT, file.TXT, File.txt, georgE.txt, etc. son todos archivos diferentes en un sistema posix, mientras que se consideran el mismo archivo en Windows.