在基于 Firebase 的投票应用程序中,您想知道如何重定向三种不同类型的用户(学生、教师和管理员)登录后可以查看各自的活动。以下是满足此要求的代码修改版本:
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); } } };
主要更改:
以上是Firebase 身份验证后如何将学生、教师和管理员重定向到各自的活动?的详细内容。更多信息请关注PHP中文网其他相关文章!