android 相机权限已被拒绝,React Native CameraRoll权限被拒绝

按下按钮后,将执行以下代码:

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 Rejection

Error: Permission Denied ...

显然,CameraRoll需要用户许可才能执行此操作,但是我已经将它们包含在我的AndroidManifest.xml文件中:

package="com.gradualcamera">

我已经尝试删除该应用程序并重新启动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方法以某种方式开始起作用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值