2

Android 的 WebView 从 API 级别 11 开始就有这个 saveWebArchive 方法:

它可以将整个网站保存为网络档案,这很棒!但是如何将下载的内容恢复到 webview 中?我试过了

webview.loadUrl(Uri.fromFile(mywebarchivefile)); 但这只会在屏幕上显示 xml。

我尝试使用告诉我可以显示 webArchive 的 WebArchiveReader,但它只是解析 xml,我得到相同的结果。

我现在该怎么办?

4

2 回答 2

2

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);
于 2013-12-14T16:29:30.020 回答
0

简单版:

loadUrl 与 file:// 方案

mWebView.loadUrl("file://"+getContext().getFilesDir().getPath()+"/example.mhtml"); 
//file:///data/user/0/{your app package name}/files/example.mhtml

“自己处理内容”版本:

  1. 将您的 mhtml 文件的每一行读取为一个字符串(记得在每个 readLine() 之后添加 \r\n)

  2. mWebView.loadDataWithBaseURL(/*source url, or even https://example.com/, don't put null or empty string*/, dataString, "multipart/related", "utf-8","");

于 2019-07-02T11:38:45.193 回答