我在我的Reaction Native应用程序中使用了react-native-camera-roll/camera-roll@5.2.0.对于Android 13,READ_EXTERNAL_STORAGE权限已由READ_MEDIA_IMAGE设置为replaced.我使用以下代码判断是否已授予权限:

const permission = Platform.Version >= 33 ? PermissionsAndroid.PERMISSIONS.READ_MEDIA_IMAGES : PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE;

const hasPermission = await PermissionsAndroid.check(permission);

但是,PermissionsAndroid.PERMISSIONS不包含READ_MEDIA_IMAGES,所以permissionundefined.超过undefinedPermissionsAndroid.check()会使应用程序挂起.

What I Want To Know:

我使用的是REACTION-NERIVE@0.65.3.PermissionsAndroid.PERMISSIONS.READ_MEDIA_IMAGES直到0.7才可用,所以除非我更新到0.7,否则permission将始终是undefined.我怎么才能解决这个问题呢?

推荐答案

其中一个解决方案是使用单独的、维护良好的权限处理库,称为https://github.com/zoontek/react-native-permissions

如果你想从RN获得它,它应该包括在0.71中,基于这个PR https://github.com/facebook/react-native/commit/0a854c7c8b7ffc382c43fa460651a4b4de34c3c7

基于上面的PR,你也可以使用https://github.com/ds300/patch-package从你的本地更改创建一个补丁.但是,如果您想要使用RN的补丁版本,则应遵循以下说明https://reactnative.dev/contributing/how-to-build-from-source

Reactjs相关问答推荐

如何等待我的插入内容提交后再继续执行指令?

如何使用react-router-dom导航到网页中的其他路由?

try 在Dockerfile中使用AWS CLI将React构建工件上传到S3时出错

值在返回页面时不更新,即使我已经更新了它们

在REACT-RUTER-DOMV6中使用通用页面包装组件有问题吗?

对搜索引擎优化来说,react 头盔的异步足够了吗?

Reaction-路由-DOM v6与v5

React useEffect 问题...异步函数内的变量正在获取延迟的更新值

onClick 事件处理程序未应用于样式组件

当 URL 与我声明的任何路由都不匹配时,如何使用不会重定向到错误页面的动态 URL? - react 路由 dom

React-dom 的钩子调用无效.我能做些什么?

useRef 不关注模态

在react的useEffect钩子中,我的函数被调用,但只有第一个函数能够改变状态,第二个函数无法改变状态.

一周前刚开始学习React,一直在调试为什么输入框在每次输入后都没有焦点

如何在 nextjs 中单击按钮时动态导入和渲染组件?

当我在 useEffect 中使用 useDispatch 时,我的组件继续渲染

react-markdown 不渲染 Markdown

是什么导致了这个令人惊讶的数组导致 React

.filter() 函数在删除函数中创建循环 - React

错误未捕获的错误:[App] 不是 组件. 的所有子组件必须是