Kotlin 从内部存储加载 html 到 webview
Kotlin load html from internal storage to webview
我想将 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 的路径?
您可以根据需要处理每种类型的 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
您只需在路径前添加 file:/// 即可。
path = "file:///data/user/0/com.example.app/files/articles/article_0028_0071.html"
webView.loadUrl(path)
这项工作非常完美
我想将 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 的路径?
您可以根据需要处理每种类型的 url,只需通过自定义的 WebViewClient
设置您的 webviewwebview.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
您只需在路径前添加 file:/// 即可。
path = "file:///data/user/0/com.example.app/files/articles/article_0028_0071.html"
webView.loadUrl(path)
这项工作非常完美