Код запускается, если он включен, но не если он уже включен.Как это может работать? - PullRequest
0 голосов
/ 12 мая 2019

Когда я помещаю glomadrian.materialanimatedswitch в онлайн, он запустит мой код, но если я или уже был в сети и скажу, что uber rider запросил поездку, как я могу запустить свой код, если пользователь уже был в сети? а не только если мы выйдем в интернет?

Когда запрос сделан, этот объект добавляется в узел firebase / RideRequests / riderId:

isIOSRider: true

Я пробовал это:

final DatabaseReference rideRequests = FirebaseDatabase.getInstance().getReference("RideRequests");
    rideRequests.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for (DataSnapshot ds : dataSnapshot.getChildren()) {
                riderId = ds.getKey();
                Log.e(TAG, "riderId = " + riderId);

                rideRequests.child(riderId).addListenerForSingleValueEvent(new ValueEventListener() {
                    @Override
                    public void onDataChange(DataSnapshot snapshot) {
                        if (snapshot.hasChild("isIOSRider")) {
                            isIOSRider = true;
                            Log.e(TAG, "isIOSRider = " + isIOSRider);
                            iosRiderRequest();
                        }
                    }

                    @Override
                    public void onCancelled(DatabaseError databaseError) {

                    }
                });
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });  

Если водитель находится в сети и через несколько минут гонщик отправляет водителю запрос на поездку, который добавляет к узлу RideRequests / riderId

Firebase-RideRequests node

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