Самая популярная камера для react native - react-native-camera
, но в ней все еще есть ошибка с такой распространенной вещью, как focus
. Другой подход - использование камеры от react-native
. В этом случае приложение будет использовать камеру вашего телефона.
Проблема, с которой мы столкнулись, заключалась в том, что сразу после принятого разрешения (которое было описано в документации) мы могли видеть black screen
вместо экрана камеры. Это случилось только в первый раз, когда открыли камеру. Если очистить приложение из памяти и запустить заново - все заработало. Итак, первая мысль заключалась в том, что что-то не так с разрешением. Но решение спросить разрешение на главном экране вместо экрана камеры к хорошему результату не привело.
Если это и ваш случай, вот окончательное решение, которое сработало для нас:
let perms = [PermissionsAndroid.PERMISSIONS.CAMERA, PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE]; const granted = await PermissionsAndroid.requestMultiple(perms, { title: ‘Cool Photo App Camera Permission’, message: ‘Cool Photo App needs access to your camera ‘ + ‘so you can take awesome pictures.’, buttonNeutral: ‘Ask Me Later’, buttonNegative: ‘Cancel’, buttonPositive: ‘OK’, }, ); if (granted === PermissionsAndroid.RESULTS.GRANTED) { console.log(‘You can use the camera’); } else { console.log(‘Camera permission denied’); }
WRITE_EXTERNAL_STORAGE
- это пропущенное разрешение
Другие наши статьи https://medium.com/@zenbit_tech