Algunas personas aluden al tema de tener espacios en el nombre del archivo. Lo aclararé.
Android está basado en Linux, y por lo tanto utiliza un sistema de archivos posix. Esto significa que los nombres de archivos con espacios causan problemas. No uses espacios si estás creando un archivo o directorio; déjalos fuera o usa puntos ( .
), guiones ( -
), o subraya ( _
). Para cargar un archivo existente con espacio en él, debe citar el archivo.
Usando el ejemplo de la pregunta reemplazar:
content://com.android.htmlfileprovider/mnt/sdcard/Documents/To%20Read.html?text/html
con esto:
content://com.android.htmlfileprovider/mnt/sdcard/Documents/"To Read.html"?text/html
Si por el contrario, simplemente está abriendo un archivo, puede citar toda la cadena. Como esta:
"/mnt/sdcard/Documents/To Read.html"
Además de los espacios que pueden causar problemas, los sistemas posix permiten caracteres en los nombres de archivos que no están permitidos en Windows. Para evitar problemas al copiar archivos entre sistemas, aunque algunos también están permitidos en Windows, no incluya los siguientes caracteres en los nombres de los archivos: / \ ? * : % " < > | + # '
Para evitar más problemas, utilice un estilo consistente de mayúsculas en los nombres de los archivos. Tenga en cuenta que los sistemas posix son sensibles a las mayúsculas y minúsculas, lo que significa que los nombres de archivo son sensibles a las 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 en Windows se consideran el mismo archivo.
2 votos
Pregunta similar (más reciente) que trata también de otros tipos de archivos: ¿Cómo puedo abrir archivos locales en el navegador por defecto de Android?
0 votos
También hay una aplicación para esto, " abrir en el navegador que le permite hacer clic en un archivo html en un gestor de archivos, y abre el correspondiente
file://
en una aplicación del navegador de su elección.