[英]Skip login screen in case user is already logged in
我正在使用firebase来验证我的用户。 我创建了一些活动,并且如果用户尚未登录,我想要显示登录屏幕。 我将manifest中的大多数活动定义为默认,并将登录屏幕活动定义为main。 我做得好吗? 哪个屏幕应该在清单中定义为主要? 登录屏幕或大多数信息的屏幕(右主)?
将主屏幕定义为默认屏幕。 在请求可能由于用户未登录而导致失败的数据之前,请确保您的用户是否已登录。这种情况的原因是在大多数情况下,用户将登录并且您不希望每次你的应用程序启动时运行两个活动。
我认为你应该使用启动画面作为主屏幕,它通常用于在完全应用程序设置之前显示某种进度
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();
}
}
获取当前用户的推荐方法是调用getCurrentUser方法。 如果没有用户登录,则getCurrentUser返回null
FirebaseAuth.getInstance().getCurrentUser()
如果用户未登录,则应返回null。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.