亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

firebase 用戶每次第一次調用后都會返回 null

firebase 用戶每次第一次調用后都會返回 null

翻過高山走不出你 2023-06-21 15:48:36
(user = firebaseAuth.getCurrentUser();)Firebase 用戶在第一次調用后返回 null 。當第一次安裝應用程序時,它firebaseAuth.getCurrentUser()會返回用戶,但是當它從第一個活動移動到另一個活動時,firebaseAuth.getCurrentUser()每次都會返回 null 之后調用 sigh Out 按鈕。package com.example.firebaselogin;import androidx.annotation.NonNull;import androidx.appcompat.app.AppCompatActivity;import android.app.ProgressDialog;import android.content.Intent;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.ProgressBar;import android.widget.TextView;import android.widget.Toast;import com.google.android.gms.tasks.OnCompleteListener;import com.google.android.gms.tasks.Task;import com.google.firebase.auth.AuthResult;import com.google.firebase.auth.FirebaseAuth;import com.google.firebase.auth.FirebaseUser;public class logIn extends AppCompatActivity {    EditText userName, pwd;    TextView signUpHere;    Button loginButton;    private FirebaseAuth firebaseAuth;    //private FirebaseAuth.AuthStateListener listener;    ProgressDialog progressDialog;    FirebaseUser user;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_log_in);        firebaseAuth = FirebaseAuth.getInstance();        progressDialog = new ProgressDialog(this);        user = firebaseAuth.getCurrentUser();        userName = findViewById(R.id.userName);        pwd = findViewById(R.id.pwd);        signUpHere = findViewById(R.id.signUpHere);        loginButton = findViewById(R.id.loginButton);當第firebaseAuth.getCurrentUser()一次被調用時,它是返回 (2019-08-29 00:08:14.561 8165-8165/com.example.firebaselogin I/Userrrr: com.google.firebase.auth.internal.zzk@44ffb65) 但在下一個活動觸發注銷后, firebaseAuth.getCurrentUser() 每次都會返回 null 2019-08-29 00:08:24.651 8165-8165/com.example.firebaselogin I/Userrrr: null``
查看完整描述

2 回答

?
largeQ

TA貢獻2039條經驗 獲得超8個贊

如我所見,您在簽署用戶之前檢查用戶是否為空。因此,當用戶注銷并再次嘗試登錄時,現在用戶為空。根據你的情況,如果用戶不為null,則全部登錄,其他則不會。由于用戶為空,它總是失敗并且用戶無法登錄。刪除該條件,您就可以開始了。



查看完整回答
反對 回復 2023-06-21
?
天涯盡頭無女友

TA貢獻1831條經驗 獲得超9個贊

每當您注銷用戶并調用代碼時

FirebaseAuth.getInstance().signOut();

它將清除由 firebase 維護的會話。但如果signOut()不調用,那么會話仍然存在,并且用戶不會為空。所以每當你打電話時signOut(),你都會得到 user null。因此,只需刪除user != null條件,您就可以登錄。


查看完整回答
反對 回復 2023-06-21
  • 2 回答
  • 0 關注
  • 224 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號