繁体   English   中英

如果用户已登录,请跳过登录屏幕

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM