flutter权限允许访问

Dart 复制代码
import 'package:device_info_plus/device_info_plus.dart';
import 'package:permission_handler/permission_handler.dart';

Future<bool> storagePermission() async {
  final DeviceInfoPlugin info =
      DeviceInfoPlugin(); // import 'package:device_info_plus/device_info_plus.dart';
  final AndroidDeviceInfo androidInfo = await info.androidInfo;

  final int androidVersion = int.parse(androidInfo.version.release);
  bool havePermission = false;
  // Here you can use android api level
  // like android api level 33 = android 13
  // This way you can also find out how to request storage permission

  if (androidVersion >= 13) {
    final request = await [
      // Permission.videos,
      // Permission.photos,
      Permission.audio,
      Permission.storage
      //..... as needed
    ].request(); //import 'package:permission_handler/permission_handler.dart';

    havePermission =
        request.values.every((status) => status == PermissionStatus.granted);
  } else {
    final status = await Permission.storage.request();
    havePermission = status.isGranted;
  }

  if (!havePermission) {
    // if no permission then open app-setting
    await openAppSettings();
  }

  return havePermission;
}

AndroidManifest.xml

XML 复制代码
    <!-- for below android 13-->
    <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" tools:ignore="ScopedStorage" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <!-- for above android 13-->
    <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
    <uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
    <uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
相关推荐
左有道1 小时前
用 Flutter 做一个更顺手的日历组件:calendarview_flutter
flutter
hqk1 小时前
玩Android×AI Coding:从产品到代码,完整跑通一套 AI 软件研发工作流
android·ai编程·vibecoding
安卓修改大师2 小时前
安卓修改大师实战:深入解析Android主题Theme修改与沉浸式界面实现
android
一枚菜鸟_3 小时前
Flutter + Cursor 一天出 App?这 3 个坑让开发者多花了 3 小时
flutter·cursor
stevenzqzq4 小时前
app性能日志工具
android
DB哥讲数据库4 小时前
【最新】MySQL9.7安装教程:图文详解(附MySQL安装包)
android·mysql·adb
IT乐手5 小时前
Android 写本地日志工具类
android·java
非典型Android程序员6 小时前
Launcher学习总结
android
Coffeeee6 小时前
Android功耗优化,哪些代码会让你的机子发热又耗电
android·架构·kotlin
xianrenli388 小时前
Android14自动时区更新
android·学习·framework·aosp14·自动时区