通过webview saveWebArchive获取webArchive

时间:2013-08-29 07:09:41

标签: android webarchive

Android的WebView自API级别11以来就有这个saveWebArchive方法:

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

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

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

我现在该怎么办?

2 个答案:

答案 0 :(得分:2)

您可以先通过reading the archive into a String将保存的档案加载到您的webView中,然后调用:

webView.loadDataWithBaseURL(null, archiveString, "application/x-webarchive-xml", "UTF-8", null);

答案 1 :(得分: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","");