Worklight 6.1 JSONStore调用WL.JSONStore.init在Android中挂起

时间:2014-09-12 02:40:45

标签: android ibm-mobilefirst init jsonstore

我遇到了Android中JSONStore init函数的问题。它将挂起大约10分钟,直到那时JSONStore给我初始结果回调。这确实只发生在Android和iPhone工作正常。我可以给出重现程序:

  1. 将我的应用安装在' clean' Android,之前没有安装过该应用。
  2. 我的arguemnts成功启动了JSONStore(我将附上下面的代码)。
  3. 然后我重新安装了我的应用,注意我没有卸载它,只是用新版本替换它。
  4. 替换之后我使用相同的auth尝试初始化JSONStore,但它挂起....(可能会在10分钟或更长时间内给出结果回调,没有错误处理程序触发)。
  5. 如果杀了应用程序并重新启动它,那么这次JSONStore init非常快并且工作正常
  6. 我使用inspect调试应用程序,我确定这是WL.JSONStore.init没有给我挂起应用程序的结果回调的问题。我不知道第一次需要消耗这么多时间的原因。有人遇到和我一样的问题吗?

    var options = {password:pscd,localKeyGen:true};
    var promise = 
    WL.JSONStore.init(data_collection, options).then(function(){
        console.info("init json store successfully!");
        return true;
    }).fail(function (errorObject) {
        console.info("init json store failed!" + errorObject);
        return false;
    });
    return promise;
    

1 个答案:

答案 0 :(得分:1)

我刚刚在您拥有的相同6.1版本中尝试了以下代码,并且它在Android模拟器和Nexus 4上运行良好:

    var data_collection = {people : {
        searchFields : {name : 'string', age : 'integer'}
        }
    };
    var pscd = "samplepassword";
    var options = {password:pscd,localKeyGen:true};
    var promise = 
    WL.JSONStore.init(data_collection, options).then(function(){
        alert("init json store successfully!");
        return true;
    }).fail(function (errorObject) {
        alert("init json store failed!" + errorObject);
        return false;
    });
    return promise;

唯一可能与您的代码不同的是您的密码或您的data_collection变量。您能否添加有关data_collection的更多详细信息?