onLocationChanged() выполняется дважды при использовании фиктивного местоположения

В моем приложении я хочу определить, находится ли пользователь над сайтом или нет. в onLocationChanged() У меня есть функция входа в систему, которая аутентифицирует пользователя и сохраняет широту и долготу в базе данных. И моя функция, чтобы проверить, включено ли фиктивное местоположение или нет, также здесь. Мне нужно, чтобы местоположение было выбрано только один раз, поэтому я использовал locationManager.removeUpdates(this), Но когда я проверил с включением макета onLocationChanged() звонил дважды, и я не могу понять, почему.

Вот мой код:

final LocationListener locationListener = new LocationListener() {
    public void onLocationChanged(Location location) {
        String lat = String.valueOf(location.getLatitude());
        String lon = String.valueOf(location.getLongitude());
        locationManager.removeUpdates(this);
        mockEnabled = isMockEnabled(getApplicationContext(), location);
        login(userId, password, inDate, inTime, lat, lon);
        Log.v("MOCK_STATUS", "ENABLED");
    }

    public void onStatusChanged(String provider, int status, Bundle extras) {}

    public void onProviderEnabled(String provider) {}

    public void onProviderDisabled(String provider) {}
};
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);

0 ответов

Другие вопросы по тегам