Android react native permissions在react native expo项目中返回RNPermissions null
我是世博会的新手,我不知道这里有什么问题,我对安卓已经足够好了,我正在尝试在一个新创建的世博会项目中使用。我没有触及项目内部的任何内容,只是创建了一个全新的项目,我收到一个错误,说Android react native permissions在react native expo项目中返回RNPermissions null,android,reactjs,react-native,react-native-android,react-native-permissions,Android,Reactjs,React Native,React Native Android,React Native Permissions,我是世博会的新手,我不知道这里有什么问题,我对安卓已经足够好了,我正在尝试在一个新创建的世博会项目中使用。我没有触及项目内部的任何内容,只是创建了一个全新的项目,我收到一个错误,说RNPermissions is null。我想它告诉我们关于我的android应用程序的细节,有人能帮我如何启动吗?我正在使用二维码扫描仪的代码,我卸载了依赖项中的所有内容,只留下以下内容: "dependencies": { "expo": "~36.0.0", "react": "~16.9.0"
RNPermissions is null
。我想它告诉我们关于我的android应用程序的细节,有人能帮我如何启动吗?我正在使用二维码扫描仪的代码,我卸载了依赖项中的所有内容,只留下以下内容:
"dependencies": {
"expo": "~36.0.0",
"react": "~16.9.0",
"react-dom": "~16.9.0",
"react-native": "https://github.com/expo/react-native/archive/sdk-36.0.0.tar.gz",
"react-native-permissions": "^2.0.2",
"react-native-web": "~0.11.7"
}
因此,App.js中只有一条基本的欢迎回复信息,如下所示:
import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
import { check, PERMISSIONS, RESULTS } from 'react-native-permissions';
class App extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<View style={styles.container}>
<Text>Open up App.js to start working on your app!</Text>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});
export default App;
根据您在App.js上共享的内容,您没有使用
react native permissions
您需要获得设备所有者的许可才能使用相机。您可能会遗漏一些内容,并希望检查以下内容:
对于Android
NSCameraUsageDescription
我们的应用程序需要您的许可才能使用您的照相手机
- 在iOS文件夹上安装Pod(对于React Native>=0.60)
- 在项目根目录下运行
(对于React-Native此软件包建议使用React-Native相机,同时需要链接。如果您使用的是expo,您将无法链接,因为expo不允许链接库。因此,如果您计划使用相同的库,请先从expo弹出React-Native,然后尝试使用它,因为您无法访问链接库 如果你想在世博会上实现,那么世博会有自己的条形码扫描仪,请在下面查看。它有一个漂亮的文档。一定要阅读它react-native链接
希望它能有所帮助。不要有任何疑问发布你的app.jsonfile@DominikTargoszapp.json文件已添加世博会项目中的AndroidManifest.xml文件在哪里?这本来是一个简单的答案,但世博会项目中没有
文件夹或文件,甚至没有index.js,但我做了一些挖掘他发现有多个清单xml文件,每个依赖项都有自己的。有多个,例如android/app/src/main/AndroidManifest.xml
和node\u modules\expo permissions\android\src\main\android Manifest.xml
和node\u modules\react native\reafedroid\src\main\android Manifest.xml
@AbhishekKumarChowdhury如果我没有弄错的话,您应该在app.json中添加权限,如下所述,在node\u modules\react native permissions\android\src\main\AndroidManifest.xml
@tommylong android manifest and info.plist在expo中不可用。它是纯本地的的“权限”下:[
{ "expo": { "name": "App1", "slug": "App1", "privacy": "public", "sdkVersion": "36.0.0", "platforms": [ "ios", "android", "web" ], "version": "1.0.0", "orientation": "portrait", "icon": "./assets/icon.png", "splash": { "image": "./assets/splash.png", "resizeMode": "contain", "backgroundColor": "#ffffff" }, "updates": { "fallbackToCacheTimeout": 0 }, "assetBundlePatterns": [ "**/*" ], "ios": { "supportsTablet": true } } }
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.CAMERA" />
<key>NSCameraUsageDescription</key> <string>Our app need your permission to use your camera phone</string>