[英]How to redirect different users to different activites?
This is my database structure, and I want users to be redirected to their respective activities based on their TYPE.这是我的数据库结构,我希望用户根据他们的 TYPE 被重定向到他们各自的活动。 I don't know the logic or syntax.
我不知道逻辑或语法。 For someone reasons nothing seems to work.
由于某些原因,似乎没有任何效果。
mAuthListener= new FirebaseAuth.AuthStateListener() {
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
if (firebaseAuth.getCurrentUser() != null) {
startActivity(new Intent(login.this, MainActivity.class));
}
} };
cardView1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startsignin();
}
});
}
@Override
protected void onStart() {
super.onStart();
mAuth.addAuthStateListener(mAuthListener);
}
private void startsignin()
{
String email = editText.getText().toString();
String password = editText2.getText().toString();
if (TextUtils.isEmpty(email) || TextUtils.isEmpty(password)){
Toast.makeText(login.this,"Some fields are empty",
Toast.LENGTH_LONG).show();
}
else
{ mAuth.signInWithEmailAndPassword(email,password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(Task<AuthResult> task) {
if (!task.isSuccessful())
{
Toast.makeText(login.this,"Sign in failed", Toast.LENGTH_LONG).show();
}
}
});
}
}
To solve this, I recommend you to use the following lines of code:为了解决这个问题,我建议您使用以下代码行:
String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference uidRef = rootRef.child("STUDENTS").child(uid);
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(dataSnapshot.exists()) {
//start students activity
} else {
//start teachers activity
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.d(TAG, databaseError.getMessage());
}
};
uidRef.addListenerForSingleValueEvent(valueEventListener);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.