为了账号安全,请及时绑定邮箱和手机立即绑定

React Native CameraRoll权限被拒绝

React Native CameraRoll权限被拒绝

幕布斯6054654 2021-05-03 16:45:57
按下按钮后,将执行以下代码:takePicture = async function() {    if (this.camera) {      const options = { quality: 0.5, base64: true }      const data = await this.camera.takePictureAsync(options)      CameraRoll.saveToCameraRoll(data.uri)    }  }调试器显示:Possible Unhandled Promise RejectionError: Permission Denied ...显然,CameraRoll需要用户许可才能执行此操作,但是我已经将它们包含在我的AndroidManifest.xml文件中:<manifest xmlns:android="http://schemas.android.com/apk/res/android"  package="com.gradualcamera">    <uses-permission android:name="android.permission.INTERNET" />    <uses-permission android:name="android.permission.CAMERA" />    <uses-permission android:name="android.permission.RECORD_AUDIO"/>    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />我已经尝试删除该应用程序并重新启动Metro服务器。我从“设置”中手动启用了存储权限,现在可以使用了。但是,当我删除该应用程序并再次重新安装它时,不会向用户请求存储权限。我试图用react-native-permissions请求它,但是它不起作用:    componentDidMount() {      _requestPermission = () => {        Permissions.request('storage').then(response => {          // Returns once the user has chosen to 'allow' or to 'not allow' access          // Response is one of: 'authorized', 'denied', 'restricted', or 'undetermined'          console.log(response)        })      }    }在我将其从onComponentMount方法中删除并用按钮触发后,react-native-permissions方法以某种方式开始起作用。
查看完整描述

2 回答

?
qq_笑_17

TA贡献1818条经验 获得超7个赞

只需添加以下行AndroidManifest.xml

<application tag android:requestLegacyExternalStorage="true"


查看完整回答
反对 回复 2021-05-13
  • 2 回答
  • 0 关注
  • 325 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信