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

Flutter项目Android 30模拟器无法打开相机问题求助

解决方案

1. 补充AndroidManifest.xml的包可见性声明

Android 11(API 30)引入了包可见性限制,仅声明CAMERA权限无法让应用检测到系统内的相机类应用,需要在AndroidManifest.xml的manifest根节点下添加如下查询配置:

<queries>
    <intent>
        <action android:name="android.media.action.IMAGE_CAPTURE" />
    </intent>
</queries>

你的现有manifest配置仅包含基础权限,缺少上述queries节点是原生系统环境下报错的核心原因,真机未触发是因为部分定制ROM对包可见性限制做了放宽,或内置相机应用在系统豁免名单中。

2. 检查模拟器相机配置

原生SDK 30模拟器默认可能未启用相机模拟,按以下步骤修改配置:

  • 打开Android Studio的AVD Manager,找到对应模拟器,点击编辑按钮(铅笔图标)
  • 点击「Show Advanced Settings」展开高级配置项
  • 找到Camera分类,将Front Camera、Back Camera均设置为Emulated(模拟相机)或Webcam0(调用电脑摄像头)
  • 保存配置后选择冷启动(Cold Boot)模拟器,不要使用快速启动快照

3. 补充运行时权限校验

调用image_picker的相机接口前,先通过permission_handler等工具校验CAMERA运行时权限已被用户授予,避免模拟器权限弹窗被拦截导致权限未生效的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 14:57:05