Я пытаюсь выполнить фрагмент кода каждый раз в течение 10 метров, когда я впервые запускаю свое приложение, оно выполняет весь код внутри onLocationChange, но после того, как я переместился более чем на 10 метров, кажется, что слушатель не работает больше или местоположение не обновляется, есть какая-либо подсказка о том, что может быть причиной этой проблемы?
@Override
public void onLocationChanged(Location location) {
Toast.makeText(Principal.this, "it moved: " + location.getLatitude() + "" + location.getLongitude(), Toast.LENGTH_SHORT).show();
Log.i(TAG, "onLocationChanged: "+location.getLatitude()+""+location.getLongitude());
getPlaceByTimer();
}
@Override
public void onConnected(@Nullable Bundle bundle) {
Toast.makeText(this, "connected", Toast.LENGTH_SHORT).show();
startLocationUpdate();
}
private void initLocationRequest() {
mLastLocationRequest = new LocationRequest();
mLastLocationRequest.setSmallestDisplacement(10);
mLastLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
}
private void startLocationUpdate() {
initLocationRequest();
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
// TODO: Consider calling
// ActivityCompat#requestPermissions
// here to request the missing permissions, and then overriding
// public void onRequestPermissionsResult(int requestCode, String[] permissions,
// int[] grantResults)
// to handle the case where the user grants the permission. See the documentation
// for ActivityCompat#requestPermissions for more details.
return;
}
LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLastLocationRequest, this);
}
FusedLocationApi
кажется устаревшим, но я читал, что он работает и для версий сервисов Google Play, поэтому я думаю, что здесь нет проблем