Im Kontext einer Firebase-basierten Abstimmungsanwendung fragen Sie sich, wie Sie drei verschiedene Benutzertypen umleiten können (SCHÜLER, LEHRER und ADMINISTREN) nach der Anmeldung auf ihre jeweiligen Aktivitäten zugreifen. Hier ist eine modifizierte Version Ihres Codes, um dieser Anforderung gerecht zu werden:
mAuthListener = new FirebaseAuth.AuthStateListener() { @Override public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser(); if (firebaseUser != null) { String uid = firebaseUser.getUid(); DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference(); DatabaseReference usersRef = rootRef.child("users").child(uid); ValueEventListener userListener = new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot dataSnapshot) { // Assert that the DataSnapshot is valid if (!dataSnapshot.exists()) { Log.e(TAG, "Error: DataSnapshot not found"); return; } // Check the user type and redirect accordingly if (dataSnapshot.child("type").getValue(Long.class) == 1) { startActivity(new Intent(MainActivity.this, student.class)); } else if (dataSnapshot.child("type").getValue(Long.class) == 2) { startActivity(new Intent(MainActivity.this, teacher.class)); } else if (dataSnapshot.child("type").getValue(Long.class) == 3) { startActivity(new Intent(MainActivity.this, admin.class)); } } @Override public void onCancelled(@NonNull DatabaseError databaseError) { Log.e(TAG, databaseError.getMessage()); } }; usersRef.addListenerForSingleValueEvent(userListener); } } };
Wichtige Änderungen:
Das obige ist der detaillierte Inhalt vonWie können Schüler, Lehrer und Administratoren nach der Firebase-Authentifizierung zu ihren jeweiligen Aktivitäten weitergeleitet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!