Проблема при перенаправлении входа в систему с использованием базы данных в реальном времени (данные продолжают извлекаться, даже когда условие выполнено) - PullRequest
0 голосов
/ 16 января 2019

У меня проблема с моим логином. Я не могу перенаправить пользователя к его активности. Я использую Аутентификацию Firebase для входа в систему и базу данных в реальном времени для перенаправления. Поэтому я начинаю сравнивать электронные письма, полученные из базы данных, с одним usd при входе в систему, а затем перенаправляю. Проблема в том, что меня всегда перенаправляют на один и тот же интерфейс активности вместо админпанели. Можете ли вы помочь мне?

Спасибо

firebaseDatabase= FirebaseDatabase.getInstance();
                                databaseReference=firebaseDatabase.getReference("employe");
                                databaseReference.addListenerForSingleValueEvent(new ValueEventListener() {
                                    @Override
                                    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                                        databaseReference.child(auth.getUid()).getKey();
                                        Log.d(DEBUGTAG, auth.getCurrentUser().getEmail().toString());
                                        for (DataSnapshot dataSnapshot1 : dataSnapshot.getChildren()) {
                                            u = new User();
                                            u = dataSnapshot.getValue(User.class);
                                            System.out.println(email);


                                        String d = u.email;
                                        String j = "jardinier";
                                        String n = "nettoyage";
                                        if (databaseReference.child(auth.getUid()).getKey() != null) {
                                            if (u.specialite.equals(j) || u.specialite.equals(n)) {
                                                System.out.println("test" + d);
                                                System.out.println("test apres redirection");
                                                Intent intent = new Intent(LoginActivity.this, UI.class);
                                                startActivity(intent);
                                                finish();
                                            } else if (u.specialite.equals("admin")) {
                                                System.out.println("test" + d);
                                                System.out.println("test avec redirection");
                                                Intent intent = new Intent(LoginActivity.this, adminpanel.class);
                                                startActivity(intent);
                                                finish();
                                                return;
                                            }

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