react-native-android – React Native saveToCameraRoll在Andro
描述
saveToCameraRoll因Android上的权限被拒绝错误而失败 再生产 将AWS S3照片保存到设备相机胶卷突然失败 RNFS.downloadFile(DownloadFileOptions) .promise .then(() => { CameraRoll.saveToCameraRoll(path,this.state.type) // path = /data/user/0/com.XXX.app/filesimage-xyz.jpg" .then((data) => { RNFS.unlink(path) .then(() => { console.log('Download and file unlink succeeded'); }) .catch((err) => { console.error("RNFS unlink error: ",err.message); }); }) .catch((error) => { console.error("Save to Cameral roll error: ",error.message); //error = code:"EUNSPECIFIED" // framesToPop:1 // message:"Permission denied" // stack:"Error: Permission denied? }); }) .catch((error) => { console.error("RNFS.downloadFile! error: ",error.message); }); 我有android / app / src / main / AndroidManifest.xml 什么可以导致权限被拒绝错误?在Manifest级别应该做什么来保存到cameraRoll? 附加信息 > React Native版本:[填写此内容:错误是否在最新的RN版本上重现?] 解决方法
从Android 6.0(API级别23)开始,用户在应用程序运行时向应用程序授予权限,而不是在安装应用程序时.您可以使用
PermissionAndroid API让用户授予外部存储访问权限.
例: requestExternalStoragePermission = async () => { try { const granted = await PermissionsAndroid.request( PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE,{ title: 'My App Storage Permission',message: 'My App needs access to your storage ' + 'so you can save your photos',},); return granted; } catch (err) { console.error('Failed to request permission ',err); return null; } }; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |