在Phonegap android上清除用户数据或清除缓存

前端之家收集整理的这篇文章主要介绍了在Phonegap android上清除用户数据或清除缓存前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何使用PhoneGap和 Android清除用户数据或清除缓存?下面的代码不起作用.我应该在哪里进行更改;在HTML方面还是在Java方面?此外,我正在访问一个AJAX请求,并且在第二次尝试PUT方法时,数据不会更新,因此我的主要疑问是Android存储的用户数据.我在我的AJAX请求中添加了cache:false以确保它不存储缓存.但它仍然无效.有想法该怎么解决这个吗?

我有这个代码来自另一个问题.

public static void deleteCache(Context context) {
    try {
        File dir = context.getCacheDir();
        if (dir != null && dir.isDirectory()) {
            deleteDir(dir);
        }
    } catch (Exception e) {}
}

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;
            }
        }
    }
    return dir.delete();
}

所以基本上我的POSActivity.java看起来像这样.

public class PocActivity extends DroidGap {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    super.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
    super.setIntegerProperty("splashscreen",R.drawable.is);
    super.setIntegerProperty("loadUrlTimeoutValue",60000);
    deleteCache(this);
    super.loadUrl("file:///android_asset/www/index.html");
}

public static void deleteCache(Context context) {
    try {
        File dir = context.getCacheDir();
        if (dir != null && dir.isDirectory()) {
            deleteDir(dir);
        }
    } catch (Exception e) {}
}

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;
            }
        }
    }
    return dir.delete();
}
}

解决方法

加载index.html后,在活动文件的oncreate()方法添加以下代码
if (super.appView != null) {
     super.appView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
}

猜你在找的Android相关文章