我在我的应用程序中添加了Facebook登录功能。它已成功连接并从应用程序注销。
我想在我的应用程序中打印该登录用户名。
任何人都可以帮我找到这个吗?
我使用This作为示例
这是我的代码。
fbLogin.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(fb.isSessionValid()){
try {
fb.logout(getApplicationContext());
updateButtonImage();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else{
fb.authorize(MainActivity.this, new String[]{"email"}, new DialogListener() {
@Override
public void onFacebookError(FacebookError e) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "fbError", Toast.LENGTH_LONG).show();
}
@Override
public void onError(DialogError e) {
// TODO Auto-generated method stub
}
@Override
public void onComplete(Bundle values) {
// TODO Auto-generated method stub
updateButtonImage();
}
@Override
public void onCancel() {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "onCancel", Toast.LENGTH_LONG).show();
}
});
}
}
});
答案 0 :(得分:1)
您需要参考此链接facebook sdk 并从用户对象获取信息。
Bundle params = new Bundle();
params.putString("fields", "name,first_name,last_name");
friendsRequest.setParameters(params);
// Get current logged in user information
Request meRequest = Request.newMeRequest(session, new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user, Response response) {
FacebookRequestError error = response.getError();
if (error != null) {
Log.e(FriendSmashApplication.TAG, error.toString());
handleError(error, true);
} else if (session == Session.getActiveSession()) {
// Set the currentFBUser attribute
((FriendSmashApplication)getApplication()).setCurrentFBUser(user);
}
}
});
或者你可以尝试这个例子。
http://www.androiddevelopersolution.com/2012/09/android-facebook-integration.html
答案 1 :(得分:0)
我会关注this Facebook doc,了解如何在用户登录您的应用程序后获取用户的数据。