React native 需要帮助在react本机项目中实现RNCamera吗

React native 需要帮助在react本机项目中实现RNCamera吗,react-native,camera,android-camera,React Native,Camera,Android Camera,我已经使用“expo init”创建了一个react本地项目。我想使用RNCamera,但是我得到了以下错误。“可能未处理的承诺拒绝(id:0):错误:尝试使用权限API,但主机活动未实现PermissionAwaResponsibility。”问题是,所有联机帮助似乎都指向使用“expo init”创建的项目中不存在的java文件。我正在尝试构建一个跨平台的应用程序。有人能帮我解决这个问题吗?我不知道从哪里开始,因为我相信大部分帮助都是针对android应用的 我曾尝试在互联网上搜索,但只找到

我已经使用“expo init”创建了一个react本地项目。我想使用RNCamera,但是我得到了以下错误。“可能未处理的承诺拒绝(id:0):错误:尝试使用权限API,但主机活动未实现PermissionAwaResponsibility。”问题是,所有联机帮助似乎都指向使用“expo init”创建的项目中不存在的java文件。我正在尝试构建一个跨平台的应用程序。有人能帮我解决这个问题吗?我不知道从哪里开始,因为我相信大部分帮助都是针对android应用的

我曾尝试在互联网上搜索,但只找到了需要编辑项目中没有的java文件的android特定解决方案

/*I don't think I have permission to upload pictures yet, but here is a list of the files in my created project. 

.expo
.git
assets
node_modules
.gitignore
.watchmanconfig
App.js
app.json
babel.config.js
package.json
yarn.lock
*/

import React, {PureComponent} from 'react';
import { View, Text, Button, StyleSheet, TouchableOpacity } from 'react-native';
import { RNCamera } from 'react-native-camera';

export default function App() {
  return (
    <View style = {{flex: 1}}>
      <RNCamera
        ref={ref => {
          this.camera = ref;
        }}
        style = {{flex: 1, width: '100%'
      }}
      >
      </RNCamera>
    </View>
  );
}
/*我想我还没有上传图片的权限,但下面是我创建的项目中的文件列表。
.世博会
吉特先生
资产
节点单元
.gitignore
.watchmanconfig
App.js
app.json
babel.config.js
package.json
纱线锁
*/
从“React”导入React,{PureComponent};
从“react native”导入{视图、文本、按钮、样式表、TouchableOpacity};
从“react native camera”导入{RNCamera};
导出默认函数App(){
返回(
{
this.camera=ref;
}}
样式={flex:1,宽度:'100%'
}}
>
);
}

我只想能接触到摄像机。谢谢你的帮助

如果您通过Expo创建了一个项目,最好使用Expo模块而不使用它。您可以尝试此
expo安装expo摄像头

如果您想使用原始模块,或者如果您使用我告诉过您的模块,您必须获得授权,因为您需要存储空间来存储相机和图片

您可以尝试此
expo安装expo权限

  • 摄像机使用权限:
    权限。摄像机
  • 视频使用权限:
    权限。音频录制
  • 存储空间权限:
    权限。摄像头滚动
用法

从“React”导入React;
从“react native”导入{Text,View,TouchableOpacity};
从“expo Permissions”导入*作为权限;
从“expo Camera”导入{Camera};
导出默认类CameraExample扩展React.Component{
状态={
hasCameraPermission:null,
类型:Camera.Constants.type.back,
};
异步组件didmount(){
const{status}=wait Permissions.askAsync(Permissions.CAMERA);
this.setState({hasCameraPermission:status=='grated'});
}
render(){
const{hasCameraPermission}=this.state;
if(hasCameraPermission===null){
返回;
}else if(hasCameraPermission===false){
不允许进入摄像机;
}否则{
返回(
{
这是我的国家({
类型:
this.state.type===Camera.Constants.type.back
?摄像头.常数.类型.前部
:Camera.Constants.Type.back,
});
}}>
轻弹
);
}
}
}

非常感谢!!我离开了我的房子,但我回来后会处理这件事。再次感谢@马特123如果我的回答有帮助,你能选择一个吗?再次感谢你的帮助。我在想,这个解决方案会跨平台吗?如果没有,我如何使其跨平台?@Matt123此功能部分是可以跨平台的。并非所有函数都在React本机模块中交叉。查看这些领域的文档是很好的。有些地方需要添加设置或需要额外的权限,而不是完全不同的功能。顺便问一下,你检查了我的答案,但是为什么你现在不检查我的答案呢?