Кілька людей натякають на питання про пробіли у назві файлу. Я уточню.
Android базується на Linux, тому використовує файлову систему posix. Це означає, що імена файлів із пробілами викликають проблеми. Не використовуйте пробіли, якщо ви створюєте файл або каталог; залишати їх поза межами або використовувати періоди ( .
), тире ( -
) або підкреслення ( _
). Для завантаження наявного файлу з пробілом у ньому, ви мусите цитувати файл.
Використовуючи приклад із запитання, замініть:
content://com.android.htmlfileprovider/mnt/sdcard/Documents/To%20Read.html?text/html
з цим:
content://com.android.htmlfileprovider/mnt/sdcard/Documents/"To Read.html"?text/html
Якщо ви інакше просто відкриваєте файл, ви можете процитувати цілий рядок. Подобається це:
"/mnt/sdcard/Documents/To Read.html"
Окрім пробілів, які можуть спричинити проблеми, posix-системи дозволяють використовувати символи у назвах файлів, заборонених у Windows. Щоб уникнути проблем при копіюванні файлів між системами, хоча деякі з них все ще дозволені в Windows, не включайте в імена файлів такі символи:/ \ ? * : % " < > | + # '
Щоб уникнути подальших проблем, використовуйте послідовний стиль написання великої літери у назвах файлів. Зауважте, що posix-системи відрізняються від регістру, а значить, імена файлів залежать від регістру. Це означає, що file.txt, FILE.TXT, file.TXT, File.txt, georgE.txt і т. Д. - це всі різні файли в системі posix, тоді як вони вважаються тим самим файлом у Windows.