gpt4 book ai didi

react-native - 如何在 React Native Expo 中访问相机?

转载 作者:行者123 更新时间:2023-12-05 08:06:40 26 4
gpt4 key购买 nike

这是我为访问 React Native Expo 应用程序中的摄像头而实现的代码。但是这段代码不起作用。它只显示空白屏幕,没有其他内容。如果需要任何更改或任何替代方法来实现此功能,请建议我。

import React, { useState, useEffect } from 'react';
import { Text, View, TouchableOpacity } from 'react-native';
import { Camera } from 'expo-camera';

export default function App() {
const [hasPermission, setHasPermission] = useState(null);
const [type, setType] = useState(Camera.Constants.Type.back);

useEffect(() => {
(async () => {
const { status } = await Camera.requestPermissionsAsync();
setHasPermission(status === 'granted');
})();
}, []);

if (hasPermission === null) {
return <View />;
}
if (hasPermission === false) {
return <Text>No access to camera</Text>;
}
return (
<View style={{ flex: 1 }}>
<Camera style={{ flex: 1 }} type={type}>
<View
style={{
flex: 1,
backgroundColor: 'transparent',
flexDirection: 'row',
}}>
<TouchableOpacity
style={{
flex: 0.1,
alignSelf: 'flex-end',
alignItems: 'center',
}}
onPress={() => {
setType(
type === Camera.Constants.Type.back
? Camera.Constants.Type.front
: Camera.Constants.Type.back
);
}}>
<Text style={{ fontSize: 18, marginBottom: 50, color: 'red' }}> Flip </Text>
</TouchableOpacity>
</View>
</Camera>
</View>
);
}

最佳答案

看起来您以某种方式拒绝了应用程序的权限。同样在代码中,如果 hasPermission 为 null,您将看到一个空白页面。注意:在 Ios 中,如果您拒绝或授予权限一次,则该应用将永远不会再次显示权限弹出窗口,直到您使用链接并让用户从设置中启用权限。

关于react-native - 如何在 React Native Expo 中访问相机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59484149/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com