В приложении я использую FusedLocationProviderClient
mFusedLocationClient = LocationServices.getFusedLocationProviderClient(this);
Мой запрос о местоположении
LocationRequest mLocationRequest = new LocationRequest();
mLocationRequest.setInterval(UPDATE_INTERVAL_IN_MILLISECONDS);
mLocationRequest.setFastestInterval(FASTEST_UPDATE_INTERVAL_IN_MILLISECONDS);
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
Когда режим определения местоположения устройств находится в режиме только GPS, этот запрос, похоже, не получает никакого местоположенияобновления.
Я могу сделать запрос настроек местоположения и попросить пользователя изменить режим местоположения на HighAccuracy для поддержки запроса местоположения.
LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder();
builder.addLocationRequest(mLocationRequest);
mLocationSettingsRequest = builder.build();
Он покажет пользователю диалоговое окно и попросит его изменить режим местоположения, но это изменение постоянно меняет режим расположения устройства на высокую точность.Даже после закрытия приложения изменения остаются прежними и потребляют battary.
Есть ли способ изменить режим местоположения только для приложения?Например, когда приложение работает, оно может находиться в режиме HighAccuracy, а когда приложение закрывается, оно возвращается к тому режиму, в котором оно было до этого.