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