UserId返回null

问题描述 投票:0回答:1

我的应用返回的UID为空。在注册时,我正在使用电话身份验证进行注册,并从用户那里获取一些自定义字段,并将其保存在FireBase数据库中的当前用户UID下。在注册活动中,它为我提供了完美的UID,但是当我通过凭据登录时,成功登录将用户转移到MainActivity,这给了我null。

我通过匹配用户名和密码来登录用户,该用户名和密码是我在注册时保存的,这是我没有得到UID的原因,我没有使用任何FireBase登录方法而是Iam匹配值来自DB的登录活动并成功匹配后,我登录了该用户。由于其他任何问题,它也不会在Register Activity上给我UID,但登录后却在Main Activity上给我null和个人资料活动

登录代码

 FirebaseDatabase.getInstance().getReference().child("Content").child("Profiles").orderByChild("mobile_number").equalTo(mobileNum)
                .addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                if (dataSnapshot.exists()) {
                    for (DataSnapshot user : dataSnapshot.getChildren()) {
                        Profiles profiles = user.getValue(Profiles.class);
                        if (profiles.getPassword().equals(password)) {
                            progressDialog.dismiss();
                            startActivity(new Intent(LoginActivity.this, MainActivity.class));
                        } else {
                            progressDialog.dismiss();
                            HelperClass.showSnakbarMsg(rootView, "Username or Password not matched,please try again");
                        }
                    }
                }

代码不起作用

FirebaseAuth firebaseAuth = FirebaseAuth.getInstance();
        String userId = firebaseAuth.getUid();
        Log.d("user",userId) ;

登录后返回Main Activity中的我为空

我的问题

[我的问题是,如果我通过匹配Firebase实时数据库中的值登录,我是否获得用户的UID以获取其UID,所以必须使用某些Firebase身份验证进行登录(例如电子邮件/密码或电话身份验证或Gmail登录等)] >

我的应用返回了空的UID。在注册时,我正在使用电话身份验证进行注册,并从用户那里获取一些自定义字段,并将其保存在FireBase中的当前用户UID下...

android firebase firebase-realtime-database firebase-authentication
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.