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

标签 android ajax caching cordova

如何使用 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 后,在 Activity 文件的 oncreate() 方法中添加以下代码:

if (super.appView != null) {
     super.appView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
}

关于android - 清除 Phonegap android 上的用户数据或清除缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9731473/

相关文章:

android - 管理 Android 应用商店(谷歌/亚马逊/等)的代码/构建?

android - 在android中拨号时如何显示 Activity 选择器菜单?

javascript - io.connect : io is not defined but socket. io 已加载

Android - ListView 被填充两次

Android - 如何使用 TextureView 裁剪相机预览

jquery - ajax 成功函数未触发 MVC

ruby-on-rails - Rails动态表单字段和AJAX提交

java 小程序不使用 1.6 update 24 和 IE/Chrome 进行缓存

android - react native LruCache : Does it cache images from image urls

c - WBINVD指令使用