Я попробовал оба этих фрагмента кода, но ни один из них, похоже, не работает
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
firebaseAuth = FirebaseAuth.getInstance();
mAuthListener = new FirebaseAuth.AuthStateListener(){
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth){
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if(user==null){
Intent intent = new Intent(MainActivity.this, login.class);
startActivity(intent);
finish();
}
}
};
}
и этот:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user == null) {
Intent intent = new Intent(MainActivity.this, login.class);
startActivity(intent);
finish();
}
}
В некоторых случаях getCurrentUser возвращает ненулевой FirebaseUser, но базовый токен недействителен. Это может произойти, например, если пользователь был удален на другом устройстве, а локальный токен не обновился. В этом случае вы можете получить действительного пользователя getCurrentUser, но последующие вызовы аутентифицированных ресурсов завершатся неудачей.
getCurrentUser также может возвращать ноль, поскольку объект аутентификации не завершил инициализацию.
Если вы присоедините AuthStateListener, вы будете получать обратный вызов каждый раз, когда изменяется базовое состояние токена. Это может быть полезно для реагирования на крайние случаи, подобные упомянутым выше.
когда мое приложение запускается, тогда запускается основное действие, оно должно проверить, есть ли зарегистрированный пользователь, если нет, оно должно перенаправить на вход в систему
проблема в том, что когда я выхожу из приложения, затем закрываю приложение и снова открываю его, оно начинается с основного действия