Java Firebase数据库和Android-如何销毁';会议';注销时?
我的android应用程序有一个注销导航项,单击时,它会将用户重定向到登录活动 如何确保“会话”被销毁?我这样问是因为我在登录活动中有一段代码,它检查用户是否登录(没有注销,而是关闭了应用程序)。如果已登录,则会重定向到MainActivity而不是LoginActivity: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
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数据库中的情况是不同的,这就是我到目前为止发现的!令人惊叹的。出于某些原因,我在检查更复杂的东西,但这很容易,嗯。谢谢令人惊叹的。出于某些原因,我在检查更复杂的东西,但这很容易,嗯。谢谢