Я использую firebase для аутентификации моего пользователя. Я создал некоторые действия и имею экран входа в систему, который я хочу показать, если пользователь еще не вошел в систему. Я определил большинство действий в манифесте по умолчанию, а действия на экране входа в систему — как основные. Правильно ли я делаю? Какой из экранов должен быть определен в манифесте как основной? Экран входа или экран с большей частью информации (правый главный)?
Определите ваш главный экран как экран по умолчанию. Убедитесь, что ваш запрос вошел в систему, прежде чем запрашивать данные, что может привести к сбою из-за того, что пользователь не вошел в систему. чтобы запускать два действия каждый раз, когда ваше приложение запускается.
я думаю, что вы должны использовать экран-заставку в качестве основного, он обычно используется для отображения какого-либо прогресса до полной настройки приложения.
public class SplashActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null) {
// User is signed in
// Start home activity
startActivity(new Intent(SplashActivity.this, HomeActivity.class));
} else {
// No user is signed in
// start login activity
startActivity(new Intent(SplashActivity.this, loginActivity.class));
}
// close splash activity
finish();
}
}
и узнать, вошел ли пользователь уже в систему, как указано в официальном документация:
The recommended way to get the current user is by calling the getCurrentUser method. If no user is signed in, getCurrentUser returns null
FirebaseAuth.getInstance().getCurrentUser()
Он должен возвращать значение null, если пользователь не вошел в систему.
определил экран входа в систему по умолчанию и проверьте, вошел ли пользователь уже в общие настройки, если это так, то перейдите к основному действию.