2
我的主要/启动活动是我SignInActivity,我已经包括了 火力地堡AUTH听众如何返回登录活动Firebase authlistener?
mFirebase.addAuthStateListener(new Firebase.AuthStateListener() {
@Override
public void onAuthStateChanged(AuthData authData) {
if (authData != null) {
// go to auth activity
// such as user logging in
} else {
if(!(this instanceof SignInActivity)){
// if i sign out in an auth activity
// i want to trigger this to go back to the SignIn Activity
Intent mIntent = new Intent(getApplicationContext(), SignInActivity.class);
mIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(mIntent);
finish();
return;
}
}
}
});
else语句,如果条件不工作。我知道我不能在嵌套对象中使用this
。我尝试了一些其他的尝试,但我总是闪烁,我认为它结束了无限循环,因为条件总是满足。什么是正确的方式去做这件事?
那会导致mActivity永远是SignInActivity的实例,因为其在SignInActivity声明? – user2439604
如果这里的想法只是在用户重新打开应用程序时检查用户是否登录,则不需要其他语句。如果用户未登录,则可以不做任何事情。 – TheOriginalAlex
这就是其中一个原因。如果用户在另一个活动中并且用户注销,我希望这会触发。当注销按钮/链接被点击,然后生病unAuth用户,我希望这捕获了这种情况,并重定向到SignInActivity – user2439604