2017-03-03 21 views
1

我正在使用Firebase的自定义身份验证。Firebase setDisplayName无效

我想设置一个用户与用户名:

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.makeText(UsernameAndProfilePictureChooserActivity.this, "Success. Username: " + getUsername(), Toast.LENGTH_SHORT).show();被调用,但getUsername(),这是FirebaseAuth.getInstance().getCurrentUser().getDisplayName()返回null。

关闭应用程序,然后重新打开它不起作用。

这究竟是为什么?

+0

Firebase中存在一个错误,请关闭应用程序并重新打开它。它工作正常 –

+0

@MuhammadFarrukhFaizy nope。它不适合我。 –

+0

刚刚尝试过您的代码,它适用于我。我正在使用'com.google.firebase:firebase-auth:10.2.0'。我会说检查你的'currentUser'对象和''getUsername()'方法。 – Distwo

回答

1

尝试更新您的火力AUTH库的版本。

我使用com.google.firebase:firebase-auth:10.2.0,它为我工作。

相关问题