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

使用react-native-image-picker时App崩溃问题求助

解决react-native-image-picker点击拍照/相册选项后App崩溃的问题

我直接从你的崩溃日志里找到了关键问题:java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Boolean——这是因为你传递给图片选择器的配置参数里,有个字段的类型不匹配。

看你代码里的options配置:

noData: 'true',

在你使用的react-native-image-picker@0.26.7版本中,noData参数要求的是布尔类型的true或false,但你传了一个字符串'true',导致原生模块在解析参数时触发类型转换异常,直接引发App崩溃。

修复方法

把noData的值从字符串'true'改成布尔值true即可,修改后的配置代码如下:

var options = {
  title: translate(isImage ? 'PROFILE_EDITOR_SELECT_IMAGE' : 'PROFILE_EDITOR_SELECT_VIDEO'),
  cancelButtonTitle: translate('IMAGE_PICKER_CANCEL_BUTTON_TITLE'),
  takePhotoButtonTitle: translate('IMAGE_PICKER_TAKE_PHOTO_BUTTON_TITLE'),
  chooseFromLibraryButtonTitle: translate('IMAGE_PICKER_FROM_LIBRARY_BUTTON_TITLE'),
  mediaType: userImageType != 'videoUrl' ? 'photo' : 'video',
  noData: true, // 这里修改为布尔值
  videoQuality: 'low',
  storageOptions: {
    skipBackup: true,
    path: 'captures'
  }
};

额外说明

从日志里ImagePickerModule.java:708调用getBoolean方法的信息可以确认,这个版本的原生模块会直接尝试读取noData为布尔类型,所以一定要严格匹配参数类型,不能用字符串代替布尔值。

内容的提问来源于stack exchange,提问作者Romel Bonnie Cañones

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:17:24