Очистить пользовательские данные или очистить кеш на Phonegap Android

Как я могу очистить пользовательские данные или очистить кеш с помощью PhoneGap и Android? Код ниже не работает.Где я должен внести изменения; На стороне HTML или на стороне Java? Также я получаю доступ к запросу AJAX, и при второй попытке метода PUT данные не обновляются, поэтому мой основной подозреваемый — это пользовательские данные, которые хранит Android. Я добавил cache: falseв свой запрос AJAX, чтобы гарантировать, что он не хранит кеш. Но это все еще не работает. Есть какие нибудь идеи как это починить?

Этот код основан на другом вопросе.

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();
}
}
7
задан PdC 8 April 2017 в 02:27
поделиться