File sdcache = getExternalCacheDir();
WebSettings webSettings = webview.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setAllowFileAccess(true);
webSettings.setAppCachePath(sdcache.toString());
webSettings.setAppCacheEnabled(true);
webSettings.setAppCacheMaxSize(1024*1024*10);
webSettings.setCacheMode(WebSettings.LOAD_CACHE_ONLY);
webview.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
return super.shouldOverrideUrlLoading(view, url);
}
@Override
public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
super.onPageFinished(view, url);
}
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
// TODO Auto-generated method stub
//super.onReceivedSslError(view, handler, error);
}
});
代码如上面写的 设置了缓存的路径SD卡的(manifest中配置了权限) 路径为:/storage/sdcard0/Android/data/com.example.webviewtest/cache 服务端用的是html5的application cache 那个玩意 在<html manifest="demo.appcache">配置了 当我把缓存模式设置成使用本地缓存的时候 网页就加载不错来 报错net::ERR_CAHCE_MISS应该是网页没有被缓存到本地吧 去对应的路径下找也没有缓存的东西 ,请问这是什么情况啊
ringa_lee2017-04-18 10:35:33
问题在这
webSettings.setAppCachePath(sdcache.toString());
toString()
是什么?文件路径可不是这么取啊!sdcache.getAbsolutePath()
才对啊!