强制新的解析安装

时间:2015-09-07 09:26:54

标签: android parse-platform

正如我之前在这个问题中提出的那样:Clear parse installation cache on Android

当用户退出应用程序时,我想删除/清除Android手机上的解析安装。我可以通过网络上的脚本删除解析安装,然后我必须从手机上的ram / disk清除它。

我的问题是,在我这样做之后,如何强制解析库触发创建新的解析安装?

1 个答案:

答案 0 :(得分:1)

我已成功删除了本地' ParseInstallation缓存使用 android解析sdk 1.13.1

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cstdarg>
#include <math.h>

int randomNumber = 0;

int Random(){
    randomNumber++;
    return randomNumber;
}

struct CStructure{
    int rep;
    int (*FunctionRandom) ();
};

CStructure* ConstructorCS(CStructure** myCS, int rep, int(*myFunctionRandom)(void)){
    *myCS = (CStructure*) malloc (sizeof(CStructure));
    (*myCS)->rep = rep;
    (*myCS)->FunctionRandom = myFunctionRandom;
}

void ExecuteCStructure(CStructure* myCS){
    int counter = 0;
    int randomNumbers[myCS->rep];
    char* text;
    while(counter < (myCS->rep)){
        //here i  receive a number from the function
        randomNumbers[counter] = myCS->FunctionRandom();
        printf("\n number generated by the function: %d", randomNumbers[counter]);
        counter++;
    }
}

int test01(){
    CStructure* code;
    ConstructorCS(&code, 3, &Random);
    ExecuteCStructure(code);
}

int main(){
    test01();
}

每次我的应用程序启动时,我都会检查是否可以保存安装,如果它不能重新创建另一个安装。

这样,根据您的使用情况,从parse-server删除安装是安全的,My ParseInstallation只保存对User对象的引用,以便我可以查询和发送Push通知。

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);

希望这有点意义......