使用解析成功登录后,需要获取twitter用户配置文件数据。请参考以下代码:
ParseTwitterUtils.logIn(SignupActivity.this, new LogInCallback() {
@Override
public void done(ParseUser parseUser, ParseException e) {
if (parseUser == null) {
Log.d("MyApp", "Uh oh. The user cancelled the Twitter login.");
} else if (parseUser.isNew()) {
Log.d("MyApp", "User signed up and logged in through Twitter!");
} else {
Log.d("MyApp", "User logged in through Twitter!");
}
}
});
我尝试从登录后返回的Parseuser对象获取值,但显示为空。
建议登录后该怎么办。
谢谢
最佳答案
首先,您确定已登录吗?要验证这一点,请确保控制台中有“用户通过Twitter登录!”日志,如果是这样,则可以添加:String twitter = ParseTwitterUtils.getTwitter().getScreenName(); Log.d(MainActivity.class.getSimpleName(), twitter + "");
在您的else if和else块下,或者您可以用以下代码替换代码:ParseTwitterUtils.logIn(SignupActivity.this, new LogInCallback() { @Override public void done(ParseUser parseUser, ParseException e) { if (parseUser == null) { Log.d("MyApp", "Uh oh. The user cancelled the Twitter login."); } else if (parseUser.isNew()) { Log.d("MyApp", "User signed up and logged in through Twitter!"); String twitter = ParseTwitterUtils.getTwitter().getScreenName(); Log.d(MainActivity.class.getSimpleName(), twitter + ""); } else { Log.d("MyApp", "User logged in through Twitter!"); String twitter = ParseTwitterUtils.getTwitter().getScreenName(); Log.d(MainActivity.class.getSimpleName(), twitter + ""); } } });
如果您的类不是“ MainActivity”,则在Log.d中键入它。
如果您在唱歌时遇到问题,也可以尝试以下操作:
user = new ParseUser();
user.setUsername("Username");
user.setPassword("password");
user.setEmail("[email protected]");
user.signUpInBackground(new SignUpCallback() {
public void done(ParseException e) {
if (e == null) {
// Hooray! Let them use the app now.
} else {
// Sign up didn't succeed. Look at the ParseException
// to figure out what went wrong
}
}
});
if (!ParseTwitterUtils.isLinked(user)) {
ParseTwitterUtils.link(user, this, new SaveCallback() {
@Override
public void done(ParseException ex) {
if (ParseTwitterUtils.isLinked(user)) {
Log.d("MyApp", "Woohoo, user logged in with Twitter!");
String twitter = ParseTwitterUtils.getTwitter().getScreenName();
Log.d(MainActivity.class.getSimpleName(), twitter + "");
}
}
});
}
定义“ ParseUser用户”;在onCreate方法之外。