Я пытаюсь показать предупреждение о разрешении местоположения в своем приложении для Android, но оно не появляется.
Это мой код, во-первых, функция, вызываемая для проверки прав доступа:
checkPermission = async cb => {
if (Platform.OS === "android") {
try {
const granted = await PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
{
title: "IZI CHECK",
message: translate("access_location_msg")
}
);
console.log("granted:", granted);
if (granted === PermissionsAndroid.RESULTS.GRANTED) {
cb();
} else {
alert(translate("location_permission_denied"));
}
console.log("Granted:", granted);
} catch (err) {
console.warn(err);
}
} else {
cb();
}
};
наконец, я звоню в componentdidmount () :
async componentDidMount() {
await this.checkPermission(() => {
navigator.geolocation.getCurrentPosition(
(position)=>{
this.fetchProfileStatus(position);
},
error => {
if (error.code) {
console.log(error)
this.props.navigation.goBack();
}
},
Platform.OS === 'android' ? {} :{enableHighAccuracy: true, timeout: 20000 }
);
});
}
Спасибо