我試圖從登錄後的用戶那裏獲取電子郵件,因爲我想檢查用戶是否已經在我的數據庫上收到了他的電子郵件。Facebook android sdk 4. * - 如何獲取登錄的用戶電子郵件?
但我不知道如何獲得電子郵件。我使用getName從用戶那裏獲得名稱,我想用類似的方法獲得用戶的電子郵件。
我的活動代碼:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(getApplicationContext());
callbackManager = CallbackManager.Factory.create();
setContentView(R.layout.activity_main);
info = (TextView) findViewById(R.id.info);
loginButton = (LoginButton) findViewById(R.id.login_button);
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
Profile profile = Profile.getCurrentProfile();
info.setText(message(profile));
String userId = loginResult.getAccessToken().getUserId();
}
@Override
public void onCancel() {
info.setText("Login attempt cancelled.");
}
@Override
public void onError(FacebookException e) {
e.printStackTrace();
info.setText("Login attempt failed.");
}
});
}
在恢復
public void onResume() {
super.onResume();
Profile profile = Profile.getCurrentProfile();
info.setText(message(profile));
}
上的活動結果
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
callbackManager.onActivityResult(requestCode, resultCode, data);
}
private String message(Profile profile) {
StringBuilder stringBuffer = new StringBuilder();
if (profile != null) {
stringBuffer.append("Welcome ").append(profile.getName());
}
return stringBuffer.toString();
}
}
謝謝。