Firebase認証を使用してユーザを追加しようとしていますが、サインアップ時にUIから尋ねても、displayNameをnullとして返します。任意のアイデア理由と修正方法 Firebase Authでユーザを作成した後displayNameにnullが表示される
startActivityForResult(AuthUI.getInstance()
.createSignInIntentBuilder()
.setProviders(Collections.singletonList(new AuthUI.IdpConfig.Builder(AuthUI.EMAIL_PROVIDER).build()))
.build(), RC_SIGN_IN);
と結果のための活動で
....次のようにユーザーコードの保存protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
// user is signed in!
//save user
saveUser();
startMainActivity();
return;
}
は次のとおりです:
private void saveUser(){
FirebaseUser fUser = FirebaseAuth.getInstance().getCurrentUser();
final User user = new User();
if (fUser.getDisplayName() != null) {
user.setUserName(fUser.getDisplayName());
} else {
Log.e("FB_info", "User has no display name");
}
user.setUserEmail(fUser.getEmail());
final DatabaseReference userRef = FirebaseDatabase.getInstance().getReference(FirebaseRefs.getUsersRef()).child(fUser.getUid());
userRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(!dataSnapshot.exists()){
userRef.updateChildren(user.toMap());
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
任意のアイデアをここに私はこれを行うために使用していたコードです表示名がnullを返す理由
私は同じ問題を抱えており、それについての質問を投稿しようとしていました。私はアンドロイドOSと "Android - AuthのためのFirebaseUI"ライブラリを使用しています。問題はOPの状態です:新しいユーザーが登録された直後にユーザーオブジェクトが返され、displayName()呼び出しにNULL値があります。ただし、同じ資格情報でLOGIN(サインアップしない)をもう一度入力すると、nameフィールドに期待どおりの値が含まれます。 – Konaras