我使用ParseTwitterUtils登录解析:
ParseTwitterUtils.logIn(this, new LogInCallback()
{
@Override
public void done(ParseUser user, ParseException err)
{
if(user == null)
{
Log.d(TAG, "Uh oh. The user cancelled the Twitter login.");
}
else if(user.isNew())
{
Log.d(TAG, "User signed up and logged in through Twitter!");
navigateToMainActivity();
}
else
{
Log.d(TAG, "User logged in through Twitter!");
Log.d(TAG, "user id=" + user.getObjectId());
Log.d("TAG", "username=" + user.getUsername());
navigateToMainActivity();
}
}
});
我使用以下方式注销用户:
ParseUser.logOut();
然而,当我尝试使用ParseTwitterUtils再次登录时,我会看到仅带有授权应用程序按钮的webView。在按下授权应用程序之后,我在完成方法中获得非空用户,但是用户的所有其他字段都是空的,例如userId,用户名等。我认为应用程序在本地授权Twitter,因此不会从Parse带来用户。如何在注销时强制Parse清除Twitter会话信息,或者如何在不执行此操作的情况下在ParseTwitterUtils.login中获得正确的用户?
答案 0 :(得分:0)
我遇到了这个问题,因为我在应用程序类
中启用了Parse本地数据存储区Parse.enableLocalDatastore(this);
我刚刚禁用了Parse本地数据存储区,Twitter登录工作正常。