安装世博相机后,控制台出现了错误.
所有项目{存储库{
// * Your other repositories here *
// * Add a new maven block after other repositories / blocks *
maven {
// expo-camera bundles a custom com.google.android:cameraview
url "$rootDir/../node_modules/expo-camera/android/maven"
}
}}
许可:
<uses-permission android:name="android.permission.CAMERA" />更新1:我使用这个代码示例进行测试,以检查我的权限https://reactnative.dev/docs/permissionsandroid示例函数
// state local
const [hasPermission, setHasPermission] = useState(null);
// function
const requestCameraPermission = async () => {
console.log('requestCameraPermission')
try {
const granted = await PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.CAMERA,
{
title: "Cool Photo App Camera Permission",
message:
"Cool Photo App needs access to your camera " +
"so you can take awesome pictures.",
buttonNeutral: "Ask Me Later",
buttonNegative: "Cancel",
buttonPositive: "OK"
}
);
if (granted === PermissionsAndroid.RESULTS.GRANTED) {
setHasPermission(true)
console.log("You can use the camera");
} else {
console.log("Camera permission denied");
setHasPermission(false)
}
} catch (err) {
console.warn(err);
}
};
// result of requestCameraPermission : You can use the camera
// Error : Attempt to invoke interface method 'boolan expo.modules.interfaces.permission.Permission.hasGrantedPermissions(java.lang.string[]) on a null object reference我做错什么了吗?谢谢你的帮助
发布于 2021-08-06 10:54:26
如果你只做了这些步骤,你必须做更多的事情来使它在Android设备上工作。
Github页面说:
调整android/build.gradle,在所有其他存储库之后添加一个新的maven块,如下所示:
allprojects {
repositories {
// * Your other repositories here *
// * Add a new maven block after other repositories / blocks *
maven {
// expo-camera bundles a custom com.google.android:cameraview
url "$rootDir/../node_modules/expo-camera/android/maven"
}
}
}但在此之前,你应该:
对于裸的,在继续之前,您必须确保已经安装和配置了React本机-unimodules包。
https://stackoverflow.com/questions/68680198
复制相似问题