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

Flutter使用permission_handler请求相册权限报错:No permissions found in manifest

解决Flutter Android13+访问相册权限被拒绝及Manifest权限未找到问题

你遇到的问题核心原因是permission_handler版本未适配Android13的权限模型,导致权限常量与Manifest声明的权限映射不匹配,触发"No permissions found in manifest"错误,最终权限请求被拒绝。以下是具体解决步骤:

  • 升级permission_handler到最新稳定版
    旧版本的permission_handler未对Android13新增的READ_MEDIA_IMAGES权限做映射,导致Permission.photos无法关联到正确的系统权限。在pubspec.yaml中指定最新稳定版本(如>=10.0.0),执行flutter pub get更新依赖。

  • 验证Manifest权限配置的正确性
    你的Manifest配置逻辑正确,但要确保权限声明放在<manifest>标签下(而非<application>内部),且无拼写错误:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android">
        <!-- 其他权限声明 -->
        <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32"/>
        <uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>
        <!-- 其他配置内容 -->
    </manifest>
    

    注意:READ_MEDIA_IMAGES无需设置maxSdkVersion,仅在Android13+生效;READ_EXTERNAL_STORAGE通过maxSdkVersion="32"限制在Android12及以下生效,这是跨版本适配的正确写法。

  • 清理项目缓存并重新构建
    Manifest修改可能因缓存未即时生效,执行以下命令清理后重新编译:

    flutter clean
    flutter pub get
    flutter run
    
  • 使用正确的权限请求逻辑
    确保代码覆盖不同权限状态的处理:

    import 'package:permission_handler/permission_handler.dart';
    
    Future<void> handlePhotosPermission() async {
      final permissionStatus = await Permission.photos.status;
    
      if (permissionStatus.isDenied) {
        final result = await Permission.photos.request();
        if (result.isGranted) {
          // 权限已授予,执行相册访问操作
        } else if (result.isPermanentlyDenied) {
          // 权限永久拒绝,引导用户到应用设置页开启
          await openAppSettings();
        }
      } else if (permissionStatus.isGranted) {
        // 已拥有权限,直接访问相册
      } else if (permissionStatus.isPermanentlyDenied) {
        await openAppSettings();
      }
    }
    
  • 测试注意事项

    • 优先使用真实Android13+设备测试,部分模拟器存在权限模拟异常问题。
    • 若之前手动拒绝权限并勾选"不再询问",需先到应用设置页手动开启权限,或卸载应用后重新安装测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 01:20:36