В моем приложении я хочу определить, находится ли пользователь над сайтом или нет.В 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);