Я просматриваю документацию для expo, но кажется, что их пример только вызывает диалоговое окно для запроса разрешений на размещение один раз. Что я могу сделать, чтобы снова вызвать диалоговое окно, если пользователь говорит нет? Все, что я получаю, это в консоли при повторных попытках запустить диалоговое окно:
Possible Unhandled Promise Rejection (id: 0):
Error: Location permission not granted
Вот мой код:
class PermissionsScreen extends React.Component {
constructor(props) {
super(props);
}
async getLocationAsync() {
const { Location, Permissions } = Expo;
const { status } = await Permissions.askAsync(Permissions.LOCATION);
if (status === 'granted') {
return Location.getCurrentPositionAsync({enableHighAccuracy: true});
} else {
throw new Error('Location permission not granted');
}
}
render() {
let s = styles;
return (
<View style={s.contain}>
<Text>I'm going to ask for permissions</Text>
<TouchableOpacity onPress={() => {
this.getLocationAsync();
}}>
<View style={s.button}>
<Text style={s.buttonText}>Got it</Text>
</View>
</TouchableOpacity>
</View>
);
}
}