You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native ImagePicker Android13录制视频返回{didCancel:true}问题求助

解决Android 13下react-native-image-picker调用launchCamera录制视频返回{"didCancel": true}的问题

排查与解决步骤:

1. 适配Android 13媒体权限

Android 13对媒体权限做了细分,需在AndroidManifest.xml中补充新增的视频权限:

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<!-- Android 13+ 专属视频权限 -->
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />

同时在代码中动态申请这些权限,确保应用获得录制视频所需的全部权限。

2. 检查模拟器功能完整性

Android 13模拟器的媒体模拟可能存在异常:

  • 进入模拟器设置,确认应用已获得相机、麦克风权限
  • 重启模拟器,或更换带Google APIs的Android 13镜像
  • 先在模拟器中打开系统相机录制视频,确认系统级相机功能正常

3. 调整launchCamera配置参数

简化或补充配置参数,尝试规避兼容性问题:

const pickedFiles = await launchCamera({
  mediaType: 'video',
  quality: 0.8,
  cameraType: 'back',
  allowsEditing: false,
  saveToPhotos: true
})

关闭编辑功能并强制保存到相册,减少流程中可能触发的异常。

4. 确认版本匹配性

确保React Native版本与react-native-image-picker版本兼容,比如React Native 0.70及以上版本对Android 13的支持更完善。可查看image-picker版本的发布说明,确认是否有针对Android 13的修复项。

5. 优先真机测试

模拟器的媒体环境和真机差异较大,尽快在Android 13真机上验证,排除模拟器本身的功能缺陷问题。

内容的提问来源于stack exchange,提问作者JuJu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 20:18:13