2011-11-06 5 views
4

인터넷에 연결하지 않고 webview를 통해 일부 웹 페이지를 표시하려고합니다. 인터넷에 연결되어 있지 않으면 캐시에서 웹 페이지를 저장하고 캐시에서 다시로드 할 수 있다고 생각했습니다. 하지만 작동하지 않습니다. 웹 사이트가 나타나지 않고 대신 웹 사이트를 사용할 수 없습니다. 나는 이미 AppCachePathgetCacheDir()으로 맞는지 확인했다. 당신이 어떤 생각을하고 있는지, 내가 뭘 잘못하고 있는지, 어떻게 작동하는지. 완벽 할 것입니다. 고마워.Android로드 캐시 만 작동하지 않습니다. WebView 오프라인 표시

webView.getSettings().setJavaScriptEnabled(true); 
webView.getSettings().setDomStorageEnabled(true); 
webView.getSettings().setAppCacheMaxSize(1024*1024*8); 
webView.getSettings().setAppCachePath("/data/data/de.app/cache"); 
webView.getSettings().setAllowFileAccess(true); 
webView.getSettings().setAppCacheEnabled(true); 

webView.setWebChromeClient(new WebChromeClient() { 
    @Override 
    public void onReachedMaxAppCacheSize(long spaceNeeded, long totalUsedQuota, 
             WebStorage.QuotaUpdater quotaUpdater) 
    { 
     quotaUpdater.updateQuota(spaceNeeded * 2); 
    } 
}); 

ConnectivityManager cm = 
(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); 
if(cm.getActiveNetworkInfo() != null && cm.getActiveNetworkInfo().isConnected() == true) 
{ 
    webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); 
    webView.loadUrl("http://www.google.de"); 
} 
else{ 
    webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ONLY); 
    webView.loadUrl("http://www.google.de"); 
} 
+0

이 문제에 대한 해결책을 찾았습니까? – Dhrupal

답변

3

당신이 webSettings.setCacheMode (WebSettings.LOAD_CACHE_ELSE_NETWORK)을 시도 할 수 있습니다;