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" />
相关推荐
柒儿吖2 小时前
Flutter跨平台三方库animations和flutter_animate在鸿蒙中的使用指南
flutter·华为·harmonyos
SHEN_ZIYUAN3 小时前
深度解析:从 AnimationHandler 原理看 Android 动画内存泄漏
android
冬奇Lab4 小时前
稳定性性能系列之十六——车机特定场景:黑卡死问题分析与排查实战
android·性能优化
座山雕~4 小时前
Springboot
android·spring boot·后端
香气袭人知骤暖5 小时前
SQL慢查询常见优化步骤
android·数据库·sql
丨康有为丨6 小时前
Android滑动冲突详解(场景+解决)
android
千里马学框架7 小时前
疑难ANR面试题:crash导致ANR深入剖析
android·智能手机·framework·perfetto·性能·anr·小米汽车
2401_zq136y038 小时前
Flutter for OpenHarmony:从零搭建今日资讯App(二十五)状态管理的艺术与实践
flutter
IT陈图图8 小时前
基于 Flutter × OpenHarmony 的文本排序工具开发实战
flutter·开源·鸿蒙·openharmony
—Qeyser8 小时前
Flutter 组件通信完全指南
前端·javascript·flutter