Android 的 WebView 从 API 级别 11 开始就有这个 saveWebArchive 方法:
它可以将整个网站保存为网络档案,这很棒!但是如何将下载的内容恢复到 webview 中?我试过了
webview.loadUrl(Uri.fromFile(mywebarchivefile)); 但这只会在屏幕上显示 xml。
我尝试使用告诉我可以显示 webArchive 的 WebArchiveReader,但它只是解析 xml,我得到相同的结果。
我现在该怎么办?
Android 的 WebView 从 API 级别 11 开始就有这个 saveWebArchive 方法:
它可以将整个网站保存为网络档案,这很棒!但是如何将下载的内容恢复到 webview 中?我试过了
webview.loadUrl(Uri.fromFile(mywebarchivefile)); 但这只会在屏幕上显示 xml。
我尝试使用告诉我可以显示 webArchive 的 WebArchiveReader,但它只是解析 xml,我得到相同的结果。
我现在该怎么办?
You can load the saved archive into your webView by first reading the archive into a String and then calling:
webView.loadDataWithBaseURL(null, archiveString, "application/x-webarchive-xml", "UTF-8", null);
简单版:
loadUrl 与 file:// 方案
mWebView.loadUrl("file://"+getContext().getFilesDir().getPath()+"/example.mhtml");
//file:///data/user/0/{your app package name}/files/example.mhtml
“自己处理内容”版本:
将您的 mhtml 文件的每一行读取为一个字符串(记得在每个 readLine() 之后添加 \r\n)
mWebView.loadDataWithBaseURL(/*source url, or even https://example.com/, don't put null or empty string*/, dataString, "multipart/related", "utf-8","");