Android, javascript в WebView: как получить файл с диска?

#javascript #android #html

#язык JavaScript #Android #HTML

Вопрос:

У меня есть index.html код javascript в папке «Ресурсы» моего apk. Когда приложение запускается, я открываю index.html в веб-представлении ; html-страница отображается правильно, и базовый код javascript также выполняется правильно.

Чтобы открыть index.html в моем веб-представлении я использую следующий код:

 webView.loadUrl("https://appassets.androidplatform.net/assets/www/examples/index.html");  

Во время выполнения приложение создает файл .txt и помещает его на диск моего телефона Android по адресу:

 file:///storage/emulated/0/Android/data/com.example.test/files/www/mytextfile.txt  

Теперь у меня есть кнопка в моем index.html страница. Когда я нажимаю на эту кнопку, я хочу выполнить функцию javascript, которая будет обрабатывать некоторые задачи на mytextfile.txt и отобразите его на моей html-странице в веб-представлении.

Поэтому я выполняю в javascript что-то вроде этого, когда пользователь нажимает на кнопку:

 doStuffOnDiskTxtFile('file:///storage/emulated/0/Android/data/com.example.test/files/www/mytextfile.txt')  

Но я получаю следующую ошибку:

 "Fetch API cannot load file:///storage/emulated/0/Android/data/com.example.test/files/www/mytextfile.txt.  URL scheme "file" is not supported.",  source: https://appassets.androidplatform.net/assets/www/build/module.js  

Есть идеи, как решить эту проблему ? Будет ли это работать лучше, если мой код html javascript будет размещен на удаленном сервере, а не запущен локально ?

Спасибо за вашу помощь.

Комментарии:

1. Рассматривали ли вы проблему с безопасностью/правом доступа для использования файловой системы загрузки на вашем телефоне (возможно, попробуйте получить доступ к файлу вручную) ? Также может быть так, что используемая вами версия Android не поддерживает эту функциональность файла таким образом.

2. Если файловая схема не поддерживается, то какие схемы? И схема Ccntent тоже?