该应用程序具有图像选择功能。在 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"/>
我尝试了image_picker包,当调用该方法时,它引发了以下错误:
PlatformException(photo_access_denied, The user did not allow photo access., null, null)
所以我的问题是,由于切换到较新版本的 flutter 是一项相当耗时的任务,是否可以以某种方式不使用它?也许有人已经有经验了?我确信重点是这些库的旧版本尚未设计用于 Android 13
谢谢!
您的项目是在 flutter 版本 1.22.0 中开发的,该版本于 2020 年 10 月 1 日发布,此后 flutter 进行了多次升级。
我在我的一个主要颤振项目中面临同样的问题。这是一个非常复杂和庞大的项目。我们仍在努力。 那么我们如何管理我们 3 到 3.5 年的项目?
使用最新的 flutter 版本和插件升级我的项目非常困难。现在,当我们从事这个项目时,我们每次都会将 flutter 新版本降级到我的项目适用的 flutter 版本(在您的情况下将新 flutter 版本降级到 1.22.0) 然后我们就可以工作了,所以不需要升级我的插件/不时发布软件包版本。
如果您遇到通过像 flutter downgrade 这样的命令降级 flutter 版本的问题(例如:flutter downgrade v1.2.1),您可以直接下载 Flutter SDK 并按照 flutter 文档进行安装。
希望这对您有帮助。