private void startUpTasks() {
Boolean isFirstRun = getSharedPreferences("PREFERENCE", MODE_PRIVATE).getBoolean("isFirstRun", true);
// If the activity has never started before...
if (isFirstRun) {
// Launch app intro
Intent i = new Intent(LoginActivity.this, EnterInfoActivity.class);
startActivity(i);
getSharedPreferences("PREFERENCE", MODE_PRIVATE).edit()
.putBoolean("isFirstRun", false).apply();
initializeUserInfo();
} else {
getUserInfo();
Intent myIntent = new Intent(LoginActivity.this, SplashScreen.class);
LoginActivity.this.startActivity(myIntent);
}
}
基本上,我已经缩小了范围,检查直接进入else语句,该语句不允许用户第一次注册。我正在使用Firebase Auth注册一个新用户,并将其存储在Firebase的数据库中。
关于如何解决这个问题有什么想法吗?
好吧,我会尽力帮助你理解你应该做什么:
我假设只有在用户之前没有注册的情况下,你才希望他们转到EnterInfoActivity
,并且你使用sharedPreferences来这样做
此代码:
getSharedPreferences("PREFERENCE", MODE_PRIVATE).edit()
.putBoolean("isFirstRun", false).apply();
必须在用户在EnterInfoActivity
中注册详细信息后添加
除此之外
如果您想再次测试该功能,则必须卸载该应用程序以清除共享的首选项数据,然后再次运行该应用程序进行测试,就像您是安装该应用程序的新用户一样,这样必须运行if-statement
而不是else
。