Firebase身份验证验证在首次从Play商店安装应用后不起作用



我正在为我的项目使用 Firebase 身份验证。一切都很好,但是当我第一次从Playstore安装该应用程序时,我的代码不起作用,它直接将用户发送到主要活动。但是,如果我从他们注销,它就可以正常工作。当我第一次从 android 工作室安装该应用程序时,它也可以正常工作,只有在从 Play 商店安装应用程序后,此验证才不起作用。我很困惑我的代码出了什么问题,几个月前它工作正常,但现在它不起作用。可以请一些人帮助我。在这种情况下,我什至无法在此处检查"user"的值是什么,因为我无法使用调试工具,因为它仅在从 Play 商店安装应用程序后才会发生。如果有人对此问题有任何想法,请提供帮助。

@Override
    protected void onStart() {
        super.onStart();

        FirebaseAuth mAuth = FirebaseAuth.getInstance();
        FirebaseUser user = mAuth.getCurrentUser();
        if (user != null) {
            sendUserToMainActivity();
        }
    }

使用 Toast 有效地调试您的 Play 商店版本

        if (user != null) {
            Toast.makeText(this, user.getUid(), Toast.LENGTH_SHORT).show();
            sendUserToMainActivity();
        }

并使用您的 Firebase 控制台检查该 Uid。

我想知道当前用户的设置方式(或更可能何时(是否发生了变化。您可以尝试该应用程序是否可以与身份验证状态侦听器正常工作吗?像这样:

@Override
protected void onStart() {
    super.onStart();
    FirebaseAuth mAuth = FirebaseAuth.getInstance();
    mAuth.addAuthStateListener(new FirebaseAuth.AuthStateListener() {
        @Override
        public void onAuthStateChanged(@NonNull FirebaseAuth auth) {
            FirebaseUser user = auth.getCurrentUser();
            if (user != null) {
                sendUserToMainActivity();
            }
        }
    });
}

如果这有效,则在onStart运行时似乎尚未设置FirebaseAuth.getInstance().getCurrentUser()

最新更新