【发布时间】:2017-03-03 12:53:31
【问题描述】:
我正在使用 Firebase 的自定义身份验证。
我正在尝试设置用户的用户名:
UserProfileChangeRequest userProfileChangeRequest = new UserProfileChangeRequest.Builder()
.setDisplayName("Hello")
.build();
assert currentUser != null;
currentUser.updateProfile(userProfileChangeRequest).addOnCompleteListener(new OnCompleteListener<Void>() {
@SuppressWarnings("ConstantConditions")
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()){
Toast.makeText(UsernameAndProfilePictureChooserActivity.this, "Success. Username: " + getUsername(), Toast.LENGTH_SHORT).show();
}
else {
throw new Error(task.getException().getMessage(),task.getException().getCause());
}
}
});
但是没有效果。
Toast 消息(Toast.makeText(UsernameAndProfilePictureChooserActivity.this, "Success. Username: " + getUsername(), Toast.LENGTH_SHORT).show(); 被调用,但 getUsername(),即FirebaseAuth.getInstance().getCurrentUser().getDisplayName() 返回 null。
关闭应用程序然后重新打开它不起作用。
为什么会这样?
【问题讨论】:
-
Firebase 存在错误,请关闭应用并重新打开。它工作正常
-
@MuhammadFarrukhFaizy 不。它对我不起作用。
-
刚刚试过你的代码,它对我有用。我正在使用
com.google.firebase:firebase-auth:10.2.0。我想说检查你的currentUser对象和你的getUsername()方法。 -
@Distwo 可能是因为我需要更新我的 firebase 版本...会做
-
@AbAppletic 有效果吗?
标签: android firebase firebase-authentication