我的应用返回的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下...