Я создаю приложение, в котором есть регистрация и логин. Когда пользователь вошел в систему, такие данные, как имя и фамилия, сохраняются в базе данных пожарного депо, которая затем выбирается и представляется в заголовке навигационной панели.
ffstore = FirebaseFirestore.getInstance();
userAuth = FirebaseAuth.getInstance();
userId = userAuth.getCurrentUser().getUid();
DocumentReference documentReference = ffstore.collection("users").document(userId);
documentReference.addSnapshotListener(this, new EventListener<DocumentSnapshot>() {
@Override
public void onEvent(@Nullable DocumentSnapshot documentSnapshot, @Nullable FirebaseFirestoreException e) {
if(documentSnapshot.getString("fName") != null) {
headerName.setText(documentSnapshot.getString("fName"));
}else{
headerName.setText("User");
}
}
});
После того, как я добавил этот код в свой проект и нажал кнопку выхода из системы, приложение вылетает.
logoutBtn = findViewById(R.id.lessonsBtn);
logoutBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
userAuth.signOut();
Intent a = new Intent(loggedInClass.this,loginClass.class);
startActivity(a);
finish();
}
});
Каждый раз, когда я снимаю код извлечения данных из пожарного депо, кнопка выхода из системы работает идеально, как и предполагалось.