Android Geofencing не работает.вызов метода onGeoQueryReady () каждый раз - PullRequest
0 голосов
/ 18 июня 2019

Я работаю над приложением, которое выполняет геозоны. Ниже приведен код текущего местоположения пользователя, и у нас также есть опасная область, для которой мы должны быть геозоной. Текущее местоположение Широта, долгота и широта опасного района, долгота те же, но геозона все еще не сработала.

Я запускаю это приложение на Android Oreo 8.1

Код ниже написан в методе onMapReady.

Каждый раз, когда вызывается метод onGeoQueryReady () вместо onKeyEntered.

1 Ответ

0 голосов
/ 18 июня 2019
geoQuery.addGeoQueryEventListener(new GeoQueryEventListener() {
            @Override
            public void onKeyEntered(String key, GeoLocation location) {
                Log.d(TAG, "onKeyEntered: Present");
                Toast.makeText(GeofenceMapActivity.this, "onKeyEntered: Present", Toast.LENGTH_SHORT).show();
                sendNotification("MRF", String.format("%s entered the dangerous area",key));
            }

            @Override
            public void onKeyExited(String key) {
                Toast.makeText(GeofenceMapActivity.this, "onKeyExited: Present", Toast.LENGTH_SHORT).show();
                Log.d(TAG, "onKeyExited: Present");
                sendNotification("MRF", String.format("%s exit the dangerous area",key));
            }

            @Override
            public void onKeyMoved(String key, GeoLocation location) {
                Toast.makeText(GeofenceMapActivity.this, "onKeyMoved Present", Toast.LENGTH_SHORT).show();
                Log.d("MOVE", String.format("%s move within the dangerous area [%f/%f]", key, location.latitude, location.longitude));
            }
            @Override
            public void onGeoQueryReady() {
                Toast.makeText(GeofenceMapActivity.this, "onGeoQueryReady() Present", Toast.LENGTH_SHORT).show();
                Log.d(TAG, "Present in onGeoQueryReady: ");
            }
            @Override
            public void onGeoQueryError(DatabaseError error) {
                Log.d("ERROR", ""+error);
            }
        });
...