Я использую разрешения на чтение и запись для доступа к внешнему хранилищу, а для получения разрешения я использую пакет обработчика разрешений
AndroidManifest.xml
Для получения разрешения от пользователя
Код: Выделить всё
var status = await Permission.storage.request();
if (status.isGranted) {
Navigator.of(context).pushReplacement(
MaterialPageRoute(builder: (context) => const Home())
);
} else if (status.isPermanentlyDenied) {
openAppSettings();
}
Вышеуказанные разрешения и код отлично работают для версий Android до 12, но когда дело доходит до версии Android 13, они не работают, они просто открывают настройки приложения вместо того, чтобы запрашивать разрешение.
Подробнее здесь:
https://stackoverflow.com/questions/752 ... 13-flutter