Получение gps координат при заблокированном устройстве
Реализовал получение координат с помощью FusedLocationProviderClient. И он работает на большинстве устройств. Но на китайских смартфонах после некоторого времени простоя координаты выводятся одни и те же. В манифесте разрешил Background location, отключил оптимизацию батареи. Но ничего не помогает. Получаю координаты так:
FusedLocationProviderClient fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(context);
if(locationRequest==null)
{
locationRequest = LocationRequest.create();
locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
locationRequest.setInterval(30 * 1000);
locationRequest.setFastestInterval(5 * 1000);
}
if (ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED)
{
LocationCallback locationCallback = new LocationCallback() {
@Override
public void onLocationResult(@NonNull LocationResult locationResult) {
super.onLocationResult(locationResult);
for (Location location : locationResult.getLocations()) {
if (location != null) {
currentLat = location.getLatitude();
currentLon = location.getLongitude();
Log.d("lat, lang = ", currentLat + " : " + currentLon);
//fusedLocationProviderClient.removeLocationUpdates(locationCallback);
}
}
}
};
fusedLocationProviderClient.requestLocationUpdates(locationRequest, locationCallback, Looper.getMainLooper());
}
Не могу понять, что нужно сделать, чтобы координаты обновлялись...