我使用FirebaseUI Android为用户登录时使用以下代码:
startActivityForResult(
AuthUI.getInstance().createSignInIntentBuilder()
.setLogo(R.drawable.firebase_auth_120dp)
.setProviders(getSelectedProviders())
.setIsSmartLockEnabled(false)
.setTheme(R.style.AppTheme)
.build(),
RC_SIGN_IN);
private String[] getSelectedProviders() {
ArrayList<String> selectedProviders = new ArrayList<>();
selectedProviders.add(AuthUI.EMAIL_PROVIDER);
selectedProviders.add(AuthUI.GOOGLE_PROVIDER);
selectedProviders.add(AuthUI.FACEBOOK_PROVIDER);
return selectedProviders.toArray(new String[selectedProviders.size()]);
}
使用以下代码从onActivityResult
获取数据:
if (requestCode == RC_SIGN_IN) {
handleSignInResponse(resultCode, data);
return;
}
一切都好。我正在通过以下方式获取用户的显示名称,电子邮件,照片网址和uid:
FirebaseUser currentUser = FirebaseAuth.getInstance().getCurrentUser();
currentUser.*();
现在我只获得有关用户的有限数据。我也想要用户的出生日期,生物和兴趣等。我怎么能得到它?
答案 0 :(得分:1)
这似乎已在此处得到解答:Firebase Auth get additional user info (age, gender)
不幸的是,Firebase没有任何内置功能可以在成功登录后获得用户的性别/生日。您必须自己从每个提供程序中检索这些数据。