You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase安卓手机号登录如何保持登录,启动页已登录用户如何直跳主页?

Firebase 安卓手机号登录保持登录状态实现方案

一、登录状态持久化说明

Firebase Auth SDK 默认已经实现了登录状态本地持久化能力,你不需要额外做特殊配置:用户完成手机号验证登录后,只要没有主动调用登出接口、没有手动清除应用数据/缓存,登录状态会一直保留,直到用户主动触发登出操作。

二、启动页跳转逻辑修改

你需要在启动页等待结束后,先判断当前是否存在已登录的Firebase用户,再决定跳转目标,修改后的代码如下:

import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;

public class SplashScreen extends AppCompatActivity {
    // 声明FirebaseAuth实例
    private FirebaseAuth mAuth;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash_screen);
        AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
        // 初始化FirebaseAuth
        mAuth = FirebaseAuth.getInstance();

        // 推荐用Handler替代Thread+sleep,避免内存泄漏,效果和原逻辑一致
        new android.os.Handler(Looper.getMainLooper()).postDelayed(() -> {
            FirebaseUser currentUser = mAuth.getCurrentUser();
            Intent intent;
            // 判断用户是否已登录
            if (currentUser != null) {
                // 已登录,直接跳主页
                intent = new Intent(SplashScreen.this, MainActivity.class);
            } else {
                // 未登录,跳引导页
                intent = new Intent(SplashScreen.this, FirstSlider.class);
            }
            startActivity(intent);
            finish();
        }, 5000);
    }
}

三、主动登出逻辑实现(需要时调用)

在用户主动触发登出的位置调用如下代码即可清除登录状态:

FirebaseAuth.getInstance().signOut();
// 登出后跳转引导页/登录页即可

内容的提问来源于stack exchange,提问作者Arya Prakash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 17:15:03