Я использую реагирующую натуру с реагирующими нативными разрешениями, когда приложение первоначально загружает его, запрашивая у пользователя разрешения на камеру, и в случае, если пользователь отказывает в этом, приложение перемещает его к настройкам приложения после предупреждения, объясняющего необходимостьдля камеры.
после того, как пользователь переключает разрешение камеры и возвращается в приложение для Android, ничего не происходит, и приложение зависает. на iOS приложение возвращается в поток.
requestCameraPermission = async () => {
try {
const response = await Permissions.request('camera');
if (response === 'denied' || response === 'blocked') {
alert("...", Please enable phone's camera.", '', () => OpenAppSettings.open());
return false
} else {
return true
}
} catch (e) {
alert(e.message)
}
};
в моем App.js componentDidMount я вызываю эту функцию:
requestCameraPermission = async () => {
const {loadingFlow} = this.props.rootStore.flowStore;
const permission = await this.props.rootStore.permissionStore.checkCameraPermission();
if (permission) {
loadingFlow((route) => {
//do stuff here and then navigates. (this part works on iOS but not on android)
});
}
};