Cordova Web视图缓存清除在android中

时间:2014-11-05 10:29:11

标签: android cordova caching

我正在尝试清除存储在使用cordova webview的android应用程序中的缓存。 我尝试使用cordovaWebView.clearCache(true);也尝试了

public void deleteCache(Context context) {
        Log.i("Utility", "deleting Cache");
        try {
            File dir = context.getCacheDir();
            if (dir != null && dir.isDirectory()) {
                deleteDir(dir);
            }
        } catch (Exception e) {
            Log.e("Utility", " exception in deleting cookies");
        }

    }


public static boolean deleteDir(File dir) {
        if (dir != null && dir.isDirectory()) {
            String[] children = dir.list();
            for (int i = 0; i < children.length; i++) {
                boolean success = deleteDir(new File(dir, children[i]));
                if (!success) {
                    return false;
                }
            }
        } else if (dir != null && dir.isFile()) {
            dir.delete(); // delete the file INSIDE the directory
        }
        Log.i("Utility", "deleting Cache " + dir.delete());
        return true;
    }

但两者都没有用。 我可以得到任何解决方案,因为在Web视图中用户使用登录,因此我们需要在第二次加载应用程序时清除缓存。

3 个答案:

答案 0 :(得分:1)

我正在使用“cordova-plugin-cache-clear”插件

https://github.com/anrip/cordova-plugin-cache-clear

要使用该插件,只需拨打window.CacheClear(success, error);

即可

并清除webView缓存。

答案 1 :(得分:0)

为什么不使用org.felixtioh.phonegap.plugins.cachecleaner插件

http://plugreg.com/plugin/sagittaros/CacheCleaner

它对我来说很好。

答案 2 :(得分:0)

最简单的答案是

cordovaWebView.clearCache(true);
 android.webkit.CookieManager.getInstance().removeAllCookie();

cordovaWebView是Cordovawebview的实例。

在需要清除cookie和缓存的情况下使用两者。