多图像选择器 2 无法访问存储 Flutter

Multi image picker 2 can't access the storage Flutter

提问人:Sabbir33 提问时间:11/13/2023 最后编辑:Sabbir33 更新时间:11/13/2023 访问量:28

问:

我正在使用多图像选择器2包从设备中选择多个图像或视频。但它不适用于 Android 14。它适用于旧版本的 android。我已授予从设备访问图像的所有权限。权限显示已授予,但我收到一条错误消息,指出此包的权限被拒绝。

这是我的 Android 清单文件以获得权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO"/>
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />

这是我加载资产的代码

Map<Permission, PermissionStatus> statuses = await [
                      Permission.photos,
                      Permission.videos,
                      Permission.storage
                    ].request();

                    var photos = statuses[Permission.photos];
                    var videos = statuses[Permission.videos];
                    var storage = statuses[Permission.videos];
                    debugPrint(photos.toString());
                    debugPrint(videos.toString());
                    debugPrint(storage.toString());
                    if (photos!.isGranted || videos!.isGranted) {
                      ref
                          .read(profileSettingsProvider.notifier)
                          .loadAssets(context, ref);
                    } else {
                      openAppSettings();
                    }
Future<void> loadAssets(BuildContext context, WidgetRef ref) async {
    List<Asset> resultList = <Asset>[];
    String errorText = 'No Error Detected';

    try {
      resultList = await MultiImagePicker.pickImages(
        maxImages: 8,
        enableCamera: true,
        selectedAssets: ref.read(selectedImagesProvider.notifier).state,
        cupertinoOptions: CupertinoOptions(
          takePhotoIcon: "chat",
          doneButtonTitle: AppLocalizations.of(context).save,
        ),
        materialOptions: const MaterialOptions(
          actionBarColor: "#EA5D43",
          actionBarTitle: "APP NAME",
          statusBarColor: "#EA5D43",
          allViewTitle: "All Photos",
          useDetailsView: false,
          selectCircleStrokeColor: "#000000",
        ),
      );
    } on Exception catch (e) {
      errorText = e.toString();
    }
  }

它说每次都拒绝权限,即使授予了权限。

flutter 权限 android-permissions android-14

评论

0赞 blackapps 11/14/2023
I have given all the permissions to access the images from the device.嗯。你没有告诉哪些权限。但。。您不需要任何权限即可使用普通图像选取器并访问选取的文件。
0赞 Sabbir33 11/14/2023
@blackapps我已经授予了访问文件中 Android 13 和 14 存储的所有权限。当我请求存储权限时,它显示已授予权限。但从图像选择器来看,它显示权限被拒绝。AndroidMenifest
0赞 blackapps 11/14/2023
对于 Android 13+,您不会要求读取和写入权限。你也不需要它们。当然不是普通的文件/图像选择器。
0赞 Sabbir33 11/14/2023
@blackapps我正在使用 Multi Image Picker2 包。

答: 暂无答案