簡介:
實作一次性登入機制中使用Firebase 驗證可確保即使在應用程式關閉並重新開啟後使用者仍保持登入狀態。這簡化了使用者體驗並消除了重複登入畫面的需求。
實作:
使用 FirebaseAuth AuthStateListener
到實作單次登錄,可以使用FirebaseAutheners。此監聽器監視身份驗證狀態的變化,允許您處理使用者登入和登出事件。
LoginActivity:
FirebaseAuth.AuthStateListener authStateListener = new FirebaseAuth.AuthStateListener() { @Override public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { FirebaseUser firebaseUser = firebaseAuth.getCurrentUser(); if (firebaseUser != null) { // If user logged in, redirect to MainActivity // Remove current view to prevent re-displaying LoginActivity startActivity(new Intent(LoginActivity.this, MainActivity.class)); finish(); } } };
@Override protected void onStart() { super.onStart(); firebaseAuth.addAuthStateListener(authStateListener); }
MainActivity:
FirebaseAuth.AuthStateListener authStateListener = new FirebaseAuth.AuthStateListener() { @Override public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { FirebaseUser firebaseUser = firebaseAuth.getCurrentUser(); if (firebaseUser == null) { // If user not logged in, redirect to LoginActivity // Remove background activity to ensure single-time login startActivity(new Intent(MainActivity.this, LoginActivity.class)); } } };
@Override protected void onStart() { super.onStart(); firebaseAuth.addAuthStateListener(authStateListener); }
@Override protected void onStop() { super.onStop(); firebaseAuth.removeAuthStateListener(authStateListener); }
注意:
FirebaseAuth firebaseAuth = FirebaseAuth.getInstance();
以上是如何在 Android 中使用 Firebase 驗證實作單一登入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!