Android 13以下无法打开照片库

问题描述 投票:0回答:2
android flutter android-permissions
2个回答
0
投票

尝试在mainefest中导出true并且

shrinkResources false minifyEnabled false

在应用程序部分。构建.gradle


0
投票

我可以使用下面的代码解决它,在你的AndroidManifest.xml中

        <!-- for below android 13-->
        <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" />
   

仍然在你的 AndroidManifest.xml 中添加这个属性到你的

application
xml

<application
        android:requestLegacyExternalStorage="true"
</application>

在你的 flutter(dart)上,我使用下面的代码,我使用 Permission Handler 以及 Device Info Plus

      import 'package:device_info_plus/device_info_plus.dart';
      import 'package:permission_handler/permission_handler.dart';

      // check Android version used
      final DeviceInfoPlugin info = DeviceInfoPlugin();
      final AndroidDeviceInfo androidInfo = await info.androidInfo;
      final int androidVersion = int.parse(androidInfo.version.release);

      late PermissionStatus status;

      if (androidVersion >= 13) {
          status = await Permission.photos.request();
      } else {
          status = await Permission.storage.request();
      }
      

      if (status == PermissionStatus.denied || status == PermissionStatus.permanentlyDenied) {
        openAppSettings();
      }
© www.soinside.com 2019 - 2024. All rights reserved.