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

时间:2019-05-30 22:08:12

标签: android android-layout

我正在使用Firebase验证我的用户。我创建了一些活动,并具有登录屏幕,如果用户尚未登录,我想显示该屏幕。我将清单中的大多数活动定义为默认活动,并将登录屏幕活动定义为主要活动。我做得对吗?应该在清单中将哪个屏幕定义为主屏幕?登录屏幕还是包含大多数信息的屏幕(右侧)?

2 个答案:

答案 0 :(得分:0)

将主屏幕定义为默认屏幕。在请求可能导致由于用户未登录而导致失败的数据的用户之前,请确保您的查询是否已登录。这种情况的原因是在大多数情况下,用户都会登录,而您不希望在您的应用每次启动时都要运行两个活动。

答案 1 :(得分:0)

我认为您应该使用启动屏幕作为主屏幕,通常用于在应用程序完全安装之前显示某种进度

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();
 }
}

并了解用户是否已经按照官方documentation中的说明登录:

  

推荐的获取当前用户的方法是调用getCurrentUser方法。如果没有用户登录,则getCurrentUser返回null

FirebaseAuth.getInstance().getCurrentUser()

如果用户未登录,则应返回null。