Когда вы запускаете на этапе входа в систему
mAuth.signInWithEmailAndPassword(email, password)
У него есть обратный вызов, который будет завершен и успешно завершен, когда пользователь вошел в систему, внутри этого обратного вызова вы уже вошли в систему и этот пользователь сейчас соответствует одному уникальному идентификатору пользователя. Вы можете получить доступ к этому идентификатору пользователя, выполнив команду
val user = FirebaseAuth().getInstance().currentUser.uid
. Затем вы можете получить эти данные пользователя и передать их как дополнительные данные или пакет в MainActivity, поэтому процесс входа в систему будет Потратьте время, чтобы войти в систему пользователя, получить его данные и отправить их в MainActivity. Таким образом, вы больше не откладываете время, когда пользователь использует ваш MainActivity
. Вы можете видеть, что пользователь был создан после успешного завершения. обратный вызов запускается, и затем в консоли Firebase вы можете проверить этого пользователя на вкладке аутентификации
Редактировать
mAuth.signInWithEmailAndPassword(email, password)
.addOnCompleteListener(this) { task ->
if (task.isSuccessful) {
//Login Success, here you can get currentUser
val user = FirebaseAuth().getInstance().currentUser
login(user.displayName,user.email)
}else{
//Login Failure
task.exception?.message?.let {
toast(it)
}
}
}
Затем просто добавьте эти два параметра в метод login () и просто сделайте putExtra с этими значениями и отправьте эти значения в качестве дополнительного к основному действию, чтобы вы не загружали свой mainactivit y и просто отправив значения из логина
Имейте в виду, что после .addonCompleteListener()
результатом будет ваш текущий вошедший в систему пользователь, поэтому отсюда вы можете получить информацию currentUser или идентификатор currentUser
Edit 2
Внутри onComplete просто передайте данные в MainActivity
val intent = Intent(this,MainActivity::class.java)
intent.putExtra("username",user.displayName)
intent.putExtra("email",user.email)
startActivity(intent)
Затем в вашей MainActivity получите эти дополнения
val extras = getIntent().extras
val userName: String?
val email: String?
if (extras != null) {
userName = extras.getString("userame")
email = extras.getString("email")
}
Тогда у вас уже есть данные от входа в вашу MainActivity
Edit 3
Чтобы изменить цвет, просто измените его с MainActivity
your_text_view.setTextColor(ContextCompat.getColor(this,R.color.yourColor)
Пожалуйста, прочитайте это