Kotlin загружает HTML из внутреннего хранилища в веб-просмотр

Я хотел бы загрузить html-страницу из моего внутреннего хранилища в веб-просмотр, но я не смог найти ни одного примера того, как это сделать. Вот что я могу сделать:

webView.loadUrl("file:///android_asset/article_0028_0071.html")

Эта работа, но мне пришлось вручную добавить страницу в актив. Затем у меня есть тот же файл во внутреннем хранилище, полный путь: /data/user/0/com.example.app/files/articles/article_0028_0071.html Итак, я попробовал:

path = "/data/user/0/com.example.app/files/articles/article_0028_0071.html"
webView.loadUrl(path)

Это не дало мне ошибки, кроме пустой страницы. также пробовал с "file: ///articles/article_0028_0071.html", но тот же результат без ошибки пустой страницы.

Итак, я хотел бы знать, как мне написать путь для доступа к html из внутреннего хранилища?


person Aqua Freshka    schedule 04.03.2020    source источник


Ответы (2)


вы можете обрабатывать все типы URL-адресов по своему усмотрению, просто настройте веб-просмотр с помощью настраиваемого WebViewClient

webview.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView webView, String url) {
            if (url.startWith("file:")) {                     
                //do whatever you need
                }
                return false;
            }else if(url.startWith("http"){....etc
person Kirguduck    schedule 04.03.2020

Вам просто нужно добавить file: /// перед вашим путем.

path = "file:///data/user/0/com.example.app/files/articles/article_0028_0071.html"
webView.loadUrl(path)

Это отлично работает

person Aqua Freshka    schedule 04.03.2020