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

Android 13集成permission_handler访问存储失败问题求助

问题排查与解决方案

核心问题

Android 13(API 33+)强制要求应用必须申请POST_NOTIFICATIONS权限才能使用通知功能,你的代码未处理该权限请求,导致flutter_local_notifications初始化失败,这是当前报错的直接原因。

修复步骤

1. 在AndroidManifest.xml中添加通知权限

在现有权限列表中新增以下权限声明:

<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />

2. 初始化通知前主动请求权限

使用permission_handler包在初始化通知插件前请求通知权限,确保用户授权后再执行初始化操作。修改main函数如下:

FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
    FlutterLocalNotificationsPlugin();
const AndroidInitializationSettings initializationSettingsAndroid =
    AndroidInitializationSettings('ic_notification');

const InitializationSettings initializationSettings = InitializationSettings(
  android: initializationSettingsAndroid,
);

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp(
    options: DefaultFirebaseOptions.currentPlatform,
  );

  // 请求通知权限
  final notificationStatus = await Permission.notification.request();
  if (notificationStatus.isGranted) {
    // 权限通过后初始化通知插件
    await flutterLocalNotificationsPlugin.initialize(initializationSettings,
        onDidReceiveNotificationResponse: (NotificationResponse response) {});
  }

  SystemChrome.setPreferredOrientations([
    DeviceOrientation.portraitUp,
    DeviceOrientation.portraitDown,
  ]).then((value) => runApp(const App()));

  await JustAudioBackground.init(
    androidNotificationChannelId: 'com.ryanheise.bg_demo.channel.audio',
    androidNotificationChannelName: 'Audio playback',
    androidNotificationOngoing: true,
  );

  await AccountServices().initialization.then((value) {
    Get.put(CartController());
  });
}

3. 存储权限补充说明(针对Android 13)

如果你的应用仍需访问外部存储,Android 13已将原READ_EXTERNAL_STORAGE拆分为细分权限:

  • 访问图片:READ_MEDIA_IMAGES
  • 访问视频:READ_MEDIA_VIDEO
  • 访问音频:READ_MEDIA_AUDIO
    需根据实际需求在Manifest中添加对应权限,并使用permission_handler请求对应权限(如Permission.photos、Permission.videos等)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 00:43:11