2015-09-18 58 views
0

我想setAppCachePath()路徑稍後檢查哪些網址在緩存之前不會被加載。如果沒有互聯網和URL不緩存我想跳過加載它。所有的時間。我覺得 Webview是緩存僅在其默認位置的URLWeb視圖setAppCachePath不能正常工作android

File dir = new File(Environment.getExternalStorageDirectory().getPath()+"/Android/data/" + 
if (!dir.exists()) { 
      dir.mkdirs(); 
    } 
     Log.i("cache",dir.getPath()); 

    wv.getSettings().setAppCachePath(dir.getPath());   

但是,高速緩存文件夾中創建&保持爲空。這怎麼能 可以解決

我試圖http://www.devahead.com/blog/2012/01/saving-the-android-webview-cache-on-the-sd-card/的解決方案,但是這也不能正常工作

我已經走過來: Check if url is cached webview android

WebView Cache Data Directory?

Saving External Cache Files

How to move webView cache to SD?

Check if file already exists in webview cache android

+0

如果不工作,也許你可以覆蓋'WebViewClient.shouldOverrideLoadingUrl()',然後緩存在後臺內容線程自己。 – hoomi

+0

你可以請分享我如何緩存url可以做? –

回答

0

這只是一個解決方法,如果該方法不工作。

這裏是一個可能的解決方案:

WebView webview = new WebView(context); 
webview.setWebViewClient(new WebViewClient(){ 

    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     makeGetRequestAndCacheResult(String url); 
     return false; 
    } 
}); 
+0

@Rachita是否有效? – prateek