react native image picker在android中不工作时启动摄像头

react native image picker在android中不工作时启动摄像头,android,react-native,android-camera,react-native-image-picker,Android,React Native,Android Camera,React Native Image Picker,我在react native for capture image中使用了“react native image picker”:“^3.0.1”。但是我在android 9中打开相机时出错了 我得到一个错误: {"errorCode": "others", "errorMessage": "This library does not require Manifest.permission.CAMERA, if you add

我在react native for capture image中使用了
“react native image picker”:“^3.0.1”
。但是我在android 9中打开相机时出错了

我得到一个错误:

{"errorCode": "others", "errorMessage": "This library does not require Manifest.permission.CAMERA, if you add this permission in manifest then you have to obtain the same."}
这是我的密码

ImagePicker.launchCamera(
{
includeBase64:错误,
mediaType:'照片',
质量:0.8,
},
异步(响应)=>{
if(response.didconcel){
log('User cancelled image picker');
}else if(response.error){
log('ImagePicker错误:',response.Error);
}否则{
}
},

);在拍摄图像之前,向用户请求相机许可。在安卓上面的棉花糖版本中,您还应该请求运行时权限,这称为危险权限

const requestCameraPermission = async () => {
  try {
    const granted = await PermissionsAndroid.request(
      PermissionsAndroid.PERMISSIONS.CAMERA,
      {
        title: "App Camera Permission",
        message:"App needs access to your camera "
        buttonNeutral: "Ask Me Later",
        buttonNegative: "Cancel",
        buttonPositive: "OK"
      }
    );
    if (granted === PermissionsAndroid.RESULTS.GRANTED) {
      console.log("Camera permission given");
    } else {
      console.log("Camera permission denied");
    }
  } catch (err) {
    console.warn(err);
  }
};
然后如果授予了权限,则在
if
内调用

ImagePicker.launchCamera

在拍摄图像之前,向用户询问相机许可。在安卓上面的棉花糖版本中,您还应该请求运行时权限,这称为危险权限

const requestCameraPermission = async () => {
  try {
    const granted = await PermissionsAndroid.request(
      PermissionsAndroid.PERMISSIONS.CAMERA,
      {
        title: "App Camera Permission",
        message:"App needs access to your camera "
        buttonNeutral: "Ask Me Later",
        buttonNegative: "Cancel",
        buttonPositive: "OK"
      }
    );
    if (granted === PermissionsAndroid.RESULTS.GRANTED) {
      console.log("Camera permission given");
    } else {
      console.log("Camera permission denied");
    }
  } catch (err) {
    console.warn(err);
  }
};
然后如果授予了权限,则在
if
内调用

ImagePicker.launchCamera
这对我有帮助

将选项添加到android\app\src\main\AndroidManifest.xml->sectionapplication ->paramandroid:requestLegacyExternalStorage=“true”

android\app\src\main\AndroidManifest.xml

...
    <application
      ...
      android:requestLegacyExternalStorage="true"
      ...>
。。。
这对我很有帮助

将选项添加到android\app\src\main\AndroidManifest.xml->sectionapplication ->paramandroid:requestLegacyExternalStorage=“true”

android\app\src\main\AndroidManifest.xml

...
    <application
      ...
      android:requestLegacyExternalStorage="true"
      ...>
。。。

remove``Manifest.permission.CAMERA``如果在Manifest中设置,则删除错误消息中注明的权限我已尝试过,但仍收到此问题remove``Manifest.permission.CAMERA``如果在Manifest中设置,则删除错误消息中注明的权限我已尝试过,但仍收到此问题