Загрузить файл somefile.html из внутреннего хранилища в веб-приложение приложения

У меня есть файл во внутренней памяти моего планшета. /myfolder/subfolder/index.html. Как я могу загрузить это в веб-приложение приложения.

Я пробовал

 webview.loadURL("file:///myfolder/subfolder/index.html"); 

но он не дает ожидаемого результата. он говорит, что веб-страница недоступна.

Я знаю, как загрузить из папки с ресурсами или из Интернета/Интернета. но мне нужно загрузить локальный файл в webview. возможно ли.?

Ответ 1

Мне удалось решить мою проблему, используя следующий путь:

webview.loadURL("file:///mnt/sdcard/myfolder/subfolder/index.html");

Ответ 2

File file = new File("/data/data/packagename/foldername/");
webView.loadUrl("file:///" + file);

Ответ 3

Приложение не может получить доступ к данным из внутреннего хранилища, хранящегося в другом приложении. Разрешения применяются к внутреннему хранилищу, которые делают данные, написанные приложением, недоступным вне этого приложения (ваше приложение не может читать что-либо, написанное другим приложением).

Итак, если вы обращаетесь к файлу, который не создан вашим приложением, AFAIK, вы не можете иметь к нему доступ.

Кстати, вы можете получить доступ к файлу из внутреннего хранилища, как показано ниже,

webview.loadURL("file:///data/data/com.yourproject.example/files/index.html");

Ответ 4

Поместите ваши html файлы в папку с ресурсами на странице, как показано ниже.

 webview.loadURL("file:///"+mContext.getFilesDir()+"/myfolder/subfolder/index.html"); 

вы должны указать ресурс android при доступе к html-страницам в ресурсах Android.