【发布时间】:2017-03-28 02:34:16
【问题描述】:
我正在尝试创建个人资料活动,用户可以在其中更改这些个人资料图片和显示名称,我正在尝试更新用户照片或用户名,调用 CompleteListener,task.isSuccessful = true 但完成了,为什么?
更新名称的功能:
FirebaseUser mFirebaseUser = FirebaseAuth.getInstance().getCurrentUser();
final String newName;
newName = input.getText().toString();
UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder()
.setDisplayName(newName)
.build();
mFirebaseUser.updateProfile(profileUpdates)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
DatabaseReference mFirebaseDatabaseReference = FirebaseDatabase.getInstance().getReference().child("users");
mFirebaseDatabaseReference.child(mFirebaseUser.getUid()).child("DisplayName").setValue(newName);
updateUI();
Toast.makeText(ProfileActivity.this, "User display name updated.", Toast.LENGTH_SHORT).show();
} else
Toast.makeText(ProfileActivity.this, "Error while updating display name.", Toast.LENGTH_SHORT).show();
}
});
当我尝试更新我刚刚上传到 Firebase 存储的个人资料图片时也是如此...
还有什么想法?
编辑:
有时用户名真的会更新,我认为更新需要超过 10 分钟,为什么?
【问题讨论】:
-
用户是使用
createUserWithEmailAndPassword()创建的吗? -
我正在使用 Google 登录创建用户,用户在控制台中应用。
-
我注意到,如果您注销并再次登录,它会更新。但它似乎不会马上更新。
标签: android firebase firebase-authentication