Сканирование QR-кода с помощью Expo v.51 не работаетAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Сканирование QR-кода с помощью Expo v.51 не работает

Сообщение Anonymous »

При попытке использовать expo-камеру с последней версией Expo 51 в проекте React Native и Android кажется, что нет возможности сканировать какой-либо код. Когда я поворачиваю камеру к QR-коду, буквально ничего не происходит. Я использую код ниже:

Код: Выделить всё

import React, { useState } from 'react';
import { Text, View, StyleSheet, Button } from 'react-native';
import { CameraView, useCameraPermissions } from 'expo-camera';

import Screen from './Screen';
import TextHyperlink from '../components/TextHyperlink';

function ScannerScreen() {
const [scanned, setScanned] = useState(false);
const [result, setResult] = useState(null);
const [permission, requestPermission] = useCameraPermissions();

if (!permission) {
return ;
}

if (!permission.granted) {
return (


We need your permission to show the camera



);
}

const handleBarCodeScanned = ({ data }) => {
console.log('lalalalala');
if (data) {
setScanned(true);
setResult(data);
}
};

const handleResult = () => {
if (!result) return null;

if (result.startsWith('http')) {
return (

);
} else {
return {result};
}
};

return (



{scanned && (
 setScanned(false)}
/>
)}

{handleResult()}

);
}

const styles = StyleSheet.create({
camerabox: {
flex: 1,
justifyContent: 'center',
width: '100%',
},
resultlink: {
color: 'blue',
flexWrap: 'wrap',
fontFamily: 'monospace',
padding: 20,
textDecorationLine: 'underline',
},
resulttext: {
color: 'white',
flexWrap: 'wrap',
fontFamily: 'monospace',
padding: 20,
},
textbox: {
borderTopColor: 'blue',
borderTopWidth: 3,
alignItems: 'center',
flex: 1,
justifyContent: 'center',
width: '100%',
},
});

export default ScannerScreen;

Используемые зависимости:

Код: Выделить всё

"expo": "~51.0.21"
"expo-camera": "^15.0.14"
"react-native": "0.74.3"
Expo 51 использует expo-camera с помощью и useCameraPermissions() вместо и requestCameraPermissionsAsync().
Дело в том, что мой код отлично работал с Экспо 50.

Подробнее здесь: https://stackoverflow.com/questions/787 ... ot-working
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»