Pengenalan:
Mencapai mekanisme log masuk sekali dalam apl menggunakan Firebase Authentication memastikan pengguna kekal log masuk walaupun selepas apl ditutup dan dibuka semula. Ini memudahkan pengalaman pengguna dan menghapuskan keperluan untuk skrin log masuk berulang.
Pelaksanaan:
Menggunakan FirebaseAuth AuthStateListener
Untuk melaksanakan log masuk sekali, FirebaseAuth AuthStateListener boleh digunakan. Pendengar ini memantau perubahan dalam keadaan pengesahan, membolehkan anda mengendalikan acara log masuk dan log keluar pengguna.
Aktiviti Log Masuk:
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); }
Nota:
FirebaseAuth firebaseAuth = FirebaseAuth.getInstance();
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Log Masuk Satu Masa dengan Pengesahan Firebase dalam Android?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!