【问题标题】:Kotlin load html from internal storage to webviewKotlin 将 html 从内部存储加载到 webview
【发布时间】:2020-03-04 15:25:24
【问题描述】:

我想将一个 html 页面从我的内部存储加载到 web 视图中,但我找不到任何有关如何执行此操作的示例。这是我能做的:

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 的路径?

【问题讨论】:

    标签: android kotlin webview android-internal-storage


    【解决方案1】:

    您可以根据需要处理各种类型的 url,只需通过自定义 WebViewClient 设置您的 webview

    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
    

    【讨论】:

      【解决方案2】:

      您只需在路径前添加 file:///。

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

      这项工作很完美

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-06-27
        • 1970-01-01
        相关资源
        最近更新 更多