FirebaseFirestore мешает FirebaseAuth.signout () - PullRequest
0 голосов
/ 20 февраля 2020

Я создаю приложение, в котором есть регистрация и логин. Когда пользователь вошел в систему, такие данные, как имя и фамилия, сохраняются в базе данных пожарного депо, которая затем выбирается и представляется в заголовке навигационной панели.

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

Каждый раз, когда я снимаю код извлечения данных из пожарного депо, кнопка выхода из системы работает идеально, как и предполагалось.

1 Ответ

0 голосов
/ 20 февраля 2020

ИСПРАВЛЕНО

DocumentReference documentReference = ffstore.collection("users").document(userId);
        documentReference.addSnapshotListener(this, new EventListener<DocumentSnapshot>() {
            @Override
            public void onEvent(@Nullable DocumentSnapshot documentSnapshot, @Nullable FirebaseFirestoreException e) {
                if (userAuth.getCurrentUser() != null){
                    if (documentSnapshot.getString("fName") != null) {
                        headerName.setText(documentSnapshot.getString("fName"));
                    } else {
                        headerName.setText("User");
                    }
                } else {

                }

            }
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...