I使用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。在按下Authorize应用程序后,我在done方法中得到了非null用户,但用户的所有其他字段都为null,例如userId、username等。我认为应用程序正在本地授权推特,因此没有从Parse中获得用户。我如何在注销时强制Parse清除twitter会话信息,或者我如何在ParseTwitterUtils.login中获得正确的用户而不这样做?
我遇到这个问题是因为我在应用程序类中启用了解析本地数据存储
Parse.enableLocalDatastore(this);
我刚刚禁用了Parse本地数据存储,Twitter登录运行良好。