Firebase单值事件侦听器不返回

鹰11

我已经在我的应用程序中成功使用Firebase数月了。我刚刚完成更新以使用9.0.0版本,但还有一个问题我无法解决。

在MainActivity onCreate函数中,我检查用户是否登录到Firebase。如果用户已登录,则我尝试获取数据库中已有的用户对象。

这是我在应用程序中遇到麻烦的唯一实例。我已验证用户已登录,并且DatabaseReference指向正确的URL。

创建了DatabaseReference并添加了侦听器,但是侦听器上什么都没有触发...

    FirebaseAuth auth = FirebaseAuth.getInstance();

    if (auth != null && auth.getCurrentUser() != null) {
        DatabaseReference userRef = FirebaseDatabase.getInstance().getReference().child(USERS).child(auth.getCurrentUser().getUid());
        userRef.addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                // Logic for success is here...
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {

                // Logic for failure is here...
            }
        });
    }

关于我在做什么错的任何想法吗?

克雷格(Craig C.)

您的项目配置存在问题,导致Firebase Auth令牌无法正确刷新。您需要在Firebase控制台中为您的应用添加SHA-1指纹。

在Firebase控制台中转到项目的概述页面。选择相关应用的设置溢出菜单,然后点击“管理”。将有一个按钮添加SHA-1值。

您可以按照本指南中的步骤获取应用的SHA-1值您可能需要重新下载google-services.json文件并将其再次添加到Android Studio中的应用程序中,但我没有。

Firebase团队成员回答的这个类似stackoverflow问题包含更多详细信息(如果需要)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章