1. 程式人生 > >android網頁離線儲存

android網頁離線儲存

眾裡尋他千百度,驀然回首,那人卻在燈火闌珊處.

眾裡尋他

將網頁儲存為離線mht檔案,沒有找到第三方開源庫,網上的例子:

當然要想編譯通過可能還需要相關的jar包,可以搜到,儲存的mht檔案格式會有問題,但是目前有問題編碼格式有問題,而且有些資源下載不到.

燈火闌珊

後面使用了下uc和apus的離線儲存功能,儲存的檔案開啟研究了下,和上面的具體實現不一樣,他們產生的mht檔案的from源長得有點奇怪,並不是郵箱,而是

<Saved by Blink><Saved by WebKit>
     /**
     * Saves the current view as a web archive.
     *
     * @param
filename the filename where the archive should be placed */
public void saveWebArchive(String filename) { checkThread(); mProvider.saveWebArchive(filename); }

後面WebViewClient嘗試在onPageFinished後呼叫下面的邏輯

File file = new File(Environment.getExternalStorageDirectory(),"demo.mht"
); webView.saveWebArchive(file.getAbsolutePath());

通過es瀏覽器檢視新生成的檔案,果斷就有一個demo.mht.而且開啟檢視內容From就是

<Saved by Blink>

所以網頁離線儲存的關鍵就是使用webview的saveWebArchive方法.結果就這麼簡單.

坑點