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

Ionic-v1项目安卓11系统调用相机无法打开问题咨询

Ionic v1 安卓11相机失效问题解决方案

核心诱因

安卓11针对存储权限和包可见性引入的两项变更,刚好击中Ionic v1配套旧版相机插件的适配盲区:

  • 旧版cordova-plugin-camera(低于4.1.0版本)未适配安卓11的包可见性规则,应用无法检测到系统相机应用的存在,调用时直接返回失败
  • 安卓11废弃了WRITE_EXTERNAL_STORAGE等旧存储权限,旧插件默认请求过期权限,无法拿到相机调用必要的临时文件访问权限

可落地修复步骤

  1. 先更新相机插件到适配安卓11的版本,执行命令:
cordova plugin rm cordova-plugin-camera
cordova plugin add cordova-plugin-camera@4.1.0
  1. 在AndroidManifest.xml的manifest节点下新增包可见性查询声明,适配安卓11的应用可见性要求:
<queries>
    <intent>
        <action android:name="android.media.action.IMAGE_CAPTURE" />
    </intent>
</queries>
  1. 调整相机调用参数,关闭saveToPhotoAlbum配置,避免请求已废弃的存储权限,改用临时文件路径处理拍照结果:
navigator.camera.getPicture(onSuccess, onFail, {
    quality: 50,
    destinationType: Camera.DestinationType.FILE_URI,
    sourceType: Camera.PictureSourceType.CAMERA,
    saveToPhotoAlbum: false,
    correctOrientation: true
});
  1. 如果使用了cordova-plugin-file配套处理文件,同步更新到6.0.2及以上版本,避免文件路径解析异常。

验证注意事项

  • 不要直接修改platforms/android目录下的配置文件,要把变更写到项目根目录的config.xml里,避免下次构建时配置被覆盖
  • 打包前先删除本地的platforms和plugins目录,重新安装所有插件,避免旧版本缓存干扰适配效果

内容的提问来源于stack exchange,提问作者Paulo Henrique Santos

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 13:48:01