Я работаю над реагированием нативного приложения. Там я должен выбрать местоположение пользователя, например, несколько, если пользователь перемещается / перемещается из одного места в другое. Это работает нормально, но, если пользователь отключает разрешение на определение местоположения через какое-то время, когда пользователь переходит к настройкам с отключенным разрешением, я должен показать некоторую кнопку, например включить местоположение, и снова. После того, как пользователь нажмет на эту кнопку, он должен запросить разрешение на определение местоположения.
Но, если пользователь впервые дает разрешение, а позже через некоторое время, если он его отключает, разрешение всплывающего окна для запроса не отображается в Android при нажатии кнопки.
Я использую следующую библиотекучтобы получить информацию о местоположении пользователя.
import Geolocation from 'react-native-geolocation-service';
// button on click method following
enableLocationHandler = () => {
if (Platform.OS === 'android') {
this.requestLocationPermissions();
} else {
Linking.openURL('app-settings:');
this.getLatitudeLongitude();
}
}
requestLocationPermissions = async () => {
if (Platform.OS === 'android') {
this.getLatitudeLongitude();
} else {
Geolocation.requestAuthorization();
this.getLatitudeLongitude();
}
}
getLatitudeLongitude() {
Geolocation.getCurrentPosition((position) => {
const initialPosition = JSON.stringify(position);
},
(error) => {
if (error.code === 1) {
this.setState({ errorMessage: 'Location permission is denied', isLoading: false });
Geolocation.clearWatch(this.watchID);
}
},
{ enableHighAccuracy: true, distanceFilter: 100, timeout: 20000, maximumAge: 1000 }
);
this.watchID = Geolocation.watchPosition((position) => {
// this.showLoader();
// console.log('position', position);
});
}
Есть предложения?