import React, { useEffect, useState } from 'react';
import { Text, View, Linking } from 'react-native';
import { useCameraDevices, Camera } from 'react-native-vision-camera';
const App = () => {
const devices = useCameraDevices();
console.log(devices);
const device = devices.back;
React.useEffect(() => {
requestCameraPermission();
}, []);
const requestCameraPermission = React.useCallback(async () => {
const permission = await Camera.requestCameraPermission();
if (permission == 'denied') {
console.log('Permission not granted');
await Linking.openSettings();
}
}, []);
function renderCamera() {
if (device == null) {
console.log('device is null');
return (
<View>
<Text>Camera not working</Text>
</View>
);
} else {
<View>
<Camera device={device} isActive={true} enableZoomGesture />
</View>;
}
}
return <View>{renderCamera()}</View>;
};
export default App;
version
“react-native-vision-camera”: “^4.5.1”