旧的flutter版本不提供存储权限并且无法更新

问题描述 投票:0回答:1

他们给了一个小项目进行修改,问题如下:应用程序有图像选择功能。在 Android 13 之前,一切正常,但在版本 13 上,没有库提供访问权限。这很可能是由于该项目使用 Flutter 1.22.0。使用 Dart 2.10 版本(空安全之前)。我已经在清单中添加了必要的权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
    android:maxSdkVersion="32"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"
    android:maxSdkVersion="32" />

<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"/>

但显然由于图书馆很旧,他没有看到允许访问(我在手机上手动打开它们)。一个例子,最初使用的是MultiImagePicker.pickImages,它抛出了异常Permission returned。接下来,我尝试了 image_picker 包,在调用该方法时,它给出了以下堆栈:

E/flutter (12634): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: PlatformException(photo_access_denied, The user did not allow photo access., null, null)

因此,我有一个问题,所以切换到较新版本的 flutter 是一项相当耗时的任务,是否可以不使用它?也许有人已经有经验了?我确信重点是这些库的旧版本尚未设计用于 Android 13

谢谢!

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
    android:maxSdkVersion="32"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"
    android:maxSdkVersion="32" />

<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"/>
flutter permissions version storage flutter-image-picker
1个回答
0
投票

在Android 13中您不需要使用所有这些权限,请删除它并重试

© www.soinside.com 2019 - 2024. All rights reserved.