Firebase电话身份验证替换了userimage和Displayname

时间:2019-07-31 03:32:25

标签: java android firebase firebase-authentication

我正在使用Firebase首先使用电子邮件和密码创建用户帐户,然后更新了可以访问的个人资料图片 currentuser.getphotourl()。通过遵循代码

y2

在家庭中,现在已显示用户图像和电子邮件。但是在下一个活动中,当我使用电话身份验证并输入代码,然后在家庭活动中,用户图像和电子邮件都为空白。

我想使用用户电话号码进行以后的访问而不登录。但是我认为最好只为电话创建数据库,改用电话认证,并在必要时检索电话号码。但是使用电话身份验证,旧电子邮件,个人资料网址已替换或发生类似错误。

我该如何解决?这是预期的行为吗?

1 个答案:

答案 0 :(得分:0)

从您的问题中我可以理解的是:

  • 登录成功
  • HomeActivity emailprofilePic正确显示
  • 转到下一个活动,用户输入电话号码
  • 回到HomeActivity,emailprofilePic现在为空。

在这种情况下,您可以将用户emailprofileUrl存储在saveInstanceState中:

    @Override
    public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        outState.putString("message", "This is a saved message");
    }

    @Override
    protected void onRestoreInstanceState(Bundle savedInstanceState) {
        super.onRestoreInstanceState(savedInstanceState);
        Toast.makeText(this, "onRestoreInstanceState", Toast.LENGTH_SHORT).show();
    }

在onCreate中,您可以每次检查一次saveInstance状态是否不为null,然后获取并设置数据:

    if (savedInstanceState != null) {
        String message = savedInstanceState.getString("key");
        Toast.makeText(this, message, Toast.LENGTH_LONG).show();
    }

或者您可以只在onResume本身中设置电子邮件和profilePic。 这将在每次调用OnResume时设置电子邮件和profilePic,并且可能会解决问题。