我正在创建一个大学申请,在其中我将两个部分放在第一部分中,用于学生,第二部分用于教师。 学生和教职员工都使用身份验证电子邮件和密码方法。 问题是,当我从学生区登录并确实最小化应用程序,然后清除任务并重新打开应用程序时,应用程序即从头开始启动,如果我在教职人员区上点击,则即使我没有登录,我也已经登录了通过本节。
如何解决这个问题?
mAuth.signInWithEmailAndPassword(user_email,user_password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful())
{
FirebaseUser authentic_user=mAuth.getCurrentUser();
if(authentic_user.isEmailVerified()) {
String user_id = mAuth.getCurrentUser().getUid();
database = FirebaseDatabase.getInstance().getReference().child("Users").child(user_id);
database.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
try {
email_check = dataSnapshot.child("email").getValue().toString();
} catch (NullPointerException error) {
email_check = null;
}
if (email_check != null) {
email.setText(email_check);
Intent intent = new Intent(getApplicationContext(), StudentDashboard.class);
startActivity(intent);
student_login_progress.setVisibility(View.INVISIBLE);
} else {
student_login_progress.setVisibility(View.INVISIBLE);
Toast.makeText(getApplicationContext(), "Invalid Username and Password", Toast.LENGTH_LONG).show();
FirebaseAuth.getInstance().signOut();
finish();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}else
{
startActivity(new Intent(getApplicationContext(),Student_Email_Verification.class));
student_login_progress.setVisibility(View.INVISIBLE);
}
}else
{
Toast.makeText(Login_Student.this,task.getException().getMessage(),Toast.LENGTH_LONG).show();
student_login_progress.setVisibility(View.GONE);
}
}
});
答案 0 :(得分:0)
问题确实很简单,然后再去教职工科检查您是否已经登录。
如果是,请尝试
FirebaseAuth.getInstance().signOut();
这将帮助您退出现有帐户,然后使用另一个教师帐户再次登录。