Android Parse:无法更新本地用户

时间:2016-04-03 03:01:40

标签: android parse-platform

我在自定义ParseUser对象中有一个名为Approved的自定义布尔字段。我们通过网络应用将此字段从false更改为true。根据文档,我应该能够在使用fetchInBackground()更改标志后更新currentUser,如下所示:

ParseUser.getCurrentUser().fetchInBackground(new GetCallback<ParseObject>() {
    @Override
    public void done(ParseObject parseObject, ParseException e) {
        Log.v("qwer", "fetched User: " + ((CustomUser)parseObject).isApproved());
    }
});

但即使已批准的标志已设置为true,从服务器返回的结果始终为false。除非我注销并再次登录,否则currentUser和相应的字段将与服务器同步。

为什么fetchInBackground()不能为本地用户工作,如果我不正确地使用它,我该如何更新currentUser。

1 个答案:

答案 0 :(得分:1)

请参阅this链接,关键是要使用pinInBackground,并在Parse.enableLocalDatastore(yourContext);课程中启用Application的本地数据存储。

更新

不确定这是否会对您有所帮助,但我确实有类似的情况:

我做一个典型的user.put("userVerified", true);然后user.saveInBackground来保存一个指示用户是否已经过验证的布尔值,然后在下一个活动中我使用user.getBoolean("userVerified")来检索标志...这是你可能会考虑的事情吗?