CameraRoll 是一个 React 原生模块,可访问本地相机胶卷或照片库。
@React-native-camera-roll/camera-roll[![CircleCI 状态][circle-ci-badge]][circle-ci] [![Lean Core 徽标][lean-core-badge]][lean-core-issue]
以前的包名: @React-native-community/cameraroll 新的包名: @React-native-camera-roll/camera-roll
$ npm install @React-native-camera-roll/camera-roll --save
或者
$ yarn add @React-native-camera-roll/camera-roll
由于 React 原生版本为 0.60,链接应自动完成。如果自动链接不起作用,请参阅以下说明。
$ React-native link @React-native-camera-roll/camera-roll && npx pod-install
node_modules ➜ @React-native-camera-roll/camera-roll 并添加 RNCCameraroll.xcodeprojlibRNCCameraroll.a 添加到项目的 Build Phases ➜ Link Binary With LibrariesCmd+R)
…
…
Then you have to explicitly ask for the permission
JavaScript 导入 { PermissionsAndroid, Platform } 从"React-native"; import { CameraRoll } from "@React-native-camera-roll/camera-roll";
async function hasAndroidPermission() { const getCheckPermissionPromise = () => { if (Platform.Version >= 33) { return Promise.all([ 权限Android.check(PermissionsAndroid.PERMISSIONS.READ_MEDIA_IMAGES), 权限Android.check(PermissionsAndroid.PERMISSIONS.READ_MEDIA_VIDEO), ]).then( ([hasReadMediaImagesPermission, hasReadMediaVideoPermission]) => hasReadMediaImagesPermission && hasReadMediaVideoPermission, ); } else { return PermissionsAndroid.check(PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE); } };
const hasPermission = await getCheckPermissionPromise(); if (hasPermission) { return true; } const getRequestPermissionPromise = () => {
![Supports Android and iOS][supported-os-badge] ![MIT License][license-badge]
暂无开放 Issues,或尚未同步最近议题。