Razvan
Razvan

Reputation: 503

Clear parse installation cache on Android

does anyone know how to clear the data from the parse installation on the newer library version 1.10? In 1.8 you could do it via reflection by calling clear from memory, like described in this answer: ParseObject mergeREST raise ConcurrentModificationException

I am deleting the parse installation from web, and I also need to clear the ram cache on the android phone and I can't find a way to do it. Any ideas?

Upvotes: 2

Views: 964

Answers (2)

Mars
Mars

Reputation: 4307

The accepted answer will not work for sdk version 1.13.1.

The only way to access those methods is like this:

ParseInstallation installation = ParseInstallation.getCurrentInstallation();
Class clazz = installation.getClass();
Method[] methods = clazz.getDeclaredMethods();
Method method1 = clazz.getDeclaredMethod("getCurrentInstallationController");
method1.setAccessible(true);
Object result = method1.invoke(installation);

Method method2 = result.getClass().getDeclaredMethod("clearFromDisk");
method2.setAccessible(true);
String result2=(String) method2.invoke(result);

Method method3 = result.getClass().getDeclaredMethod("clearFromMemory");
method3.setAccessible(true);
String result3=(String) method3.invoke(result);

Upvotes: 1

Razvan
Razvan

Reputation: 503

Solved by making a package in my project named com.parse, in it I've placed a file named ParseEasyAccess.java , it contains the following method:

public static void clearParse() {
  ParseInstallation.getCurrentInstallationController().clearFromDisk();
  ParseInstallation.getCurrentInstallationController().clearFromMemory();
}

You can call this from anywhere in the app and it will clear all the parse installation data from RAM & disk.

Upvotes: 4

Related Questions