未为类“ FirebaseAuth”定义方法“ updateProfile”

时间:2020-05-24 05:05:23

标签: firebase flutter dart firebase-authentication user-profile

我要更改用户个人资料(用户名和照片)。但它给出了错误没有为类“ FirebaseAuth”定义方法“ updateProfile”。这是代码

onPressed: (){
                    var createUserWithEmailAndPassword = FirebaseAuth.instance.
                    createUserWithEmailAndPassword(

                      email: _email,
                       password: _password);
                    createUserWithEmailAndPassword.then((signedInUser){
                        var userUpdateInfo = new UserUpdateInfo();
                        userUpdateInfo.displayName = _userName;
                        userUpdateInfo.photoUrl='https://www.google.com/url?sa=i&url=https%3A%2F%2Forangefootballclub.com%2Fen%2Farticles%2Fcristiano-ronaldo-says-will-fight-to-win-champions-league-for-juventus%2F&psig=AOvVaw3W_YulXC1W9I_Hpf0njprF&ust=1590379669136000&source=images&cd=vfe&ved=0CAIQjRxqFwoTCOj-3ZDQy-kCFQAAAAAdAAAAABAJ';
                       FirebaseAuth.instance.updateProfile(userUpdateInfo).
                       then((user){
                       FirebaseAuth.instance.currentUser().then((user){
                       UserManagement().storeNewUser(signedInUser.user, context);
                       }).catchError((e){
                           print(e);
                       });
                       }).catchError((e){
                           print(e);
                       });


                       }).catchError((e){
                         print(e.toString());
                       });

                  },

请告诉我一种更正此代码的方法

1 个答案:

答案 0 :(得分:0)

FirebaseAuth.instance返回FirebaseAuth类的实例。您必须先获得当前用户,然后更新配置文件。

Firebase.auth.currentUser

这将返回当前用户

替换此

FirebaseAuth.instance.updateProfile(userUpdateInfo)

使用

FirebaseAuth.instance.currentUser.updateProfile(userUpdateInfo)

如文档此处所述

https://firebase.google.com/docs/auth/android/manage-users#kotlin+ktx