Java Firebase数据库和Android-如何销毁';会议';注销时?

Java Firebase数据库和Android-如何销毁';会议';注销时?,java,android,firebase,firebase-realtime-database,firebase-authentication,Java,Android,Firebase,Firebase Realtime Database,Firebase Authentication,我的android应用程序有一个注销导航项,单击时,它会将用户重定向到登录活动 如何确保“会话”被销毁?我这样问是因为我在登录活动中有一段代码,它检查用户是否登录(没有注销,而是关闭了应用程序)。如果已登录,则会重定向到MainActivity而不是LoginActivity: private void setupFirebaseListener() { mAuthListener = new FirebaseAuth.AuthStateListener() { @Override publ

我的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(从现在开始),因为“会话”在注销时不会被破坏(当然,我没有实现它,因为我不知道如何实现,这就是问题所在)。

如果你想让用户注销,你需要调用
注销

FirebaseAuth.getInstance().signOut();

另请参阅。

如果您希望用户注销,则需要调用
注销:

FirebaseAuth.getInstance().signOut();

另请参见。

我在代码中没有看到任何称为“会话”的内容。“你从哪里得到会话的概念?”DougStevenson说,这就是为什么我把它用引号括起来,这样人们就可以直接理解我的观点。而且,我有更多的网络开发背景。Android和Firebase数据库中的情况是不同的,这就是我到目前为止发现的!我在你的代码中没有看到任何叫做“会话”的东西。“你从哪里得到会话的概念?”DougStevenson说,这就是为什么我把它用引号括起来,这样人们就可以直接理解我的观点。而且,我有更多的网络开发背景。Android和Firebase数据库中的情况是不同的,这就是我到目前为止发现的!令人惊叹的。出于某些原因,我在检查更复杂的东西,但这很容易,嗯。谢谢令人惊叹的。出于某些原因,我在检查更复杂的东西,但这很容易,嗯。谢谢