关于android的webview的缓存设置

   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应该是网页没有被缓存到本地吧 去对应的路径下找也没有缓存的东西 ,请问这是什么情况啊

阅读 4.5k
1 个回答

问题在这

webSettings.setAppCachePath(sdcache.toString());

toString()是什么?文件路径可不是这么取啊!
sdcache.getAbsolutePath()才对啊!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题