Firebase数据库和Android-如何在注销时销毁“会话”?

时间:2018-06-20 02:57:19

标签: java android firebase firebase-realtime-database firebase-authentication

我的android应用具有退出导航项,单击该导航项会将用户重定向到“登录”活动。

如何确保“会话”被销毁?我之所以这样问,是因为我在“登录”活动中有这段代码,该代码用于检查用户是否已登录(未注销,而是关闭了应用程序)。如果已登录,它将重定向到MainActivity而不是LoginActivity:

private void setupFirebaseListener() {
mAuthListener = new FirebaseAuth.AuthStateListener() {
 @Override
 public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
  FirebaseUser user = firebaseAuth.getCurrentUser();
  if (user != null) {
   startActivity(new Intent(MainActivity.this, MainActivity.class));
  } else {
   Intent intent = new Intent(MainActivity.this, LoginActivity.class);
   intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | 
Intent.FLAG_ACTIVITY_CLEAR_TASK);
   startActivity(intent);
   }
  }
 };
};

@Override
public void onStart() {
 super.onStart();
 FirebaseAuth.getInstance().addAuthStateListener(mAuthListener);
}
@Override
public void onStop() {
 if (mAuthListener != null) {
  FirebaseAuth.getInstance().removeAuthStateListener(mAuthListener);
 }
 super.onStop();
}

我将始终重定向到MainActivity(到目前为止),因为“会话”在注销时不会被销毁(当然,我没有实现它,因为我不知道如何操作,因此是问题)

1 个答案:

答案 0 :(得分:1)

如果您希望用户注销,则需要致电signOut

FirebaseAuth.getInstance().signOut();

另请参阅Firebase documentation