Код: Вот мой основной код Dart:
Код: Выделить всё
import 'package:flutter/material.dart';
import 'package:permission_handler/permission_handler.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
body: Center(
child: ElevatedButton(
onPressed: () async {
PermissionStatus storagePermission =
await Permission.storage.request();
if (storagePermission == PermissionStatus.granted) {
print("granted");
}
if (storagePermission == PermissionStatus.denied) {
print("permission denied");
}
if (storagePermission == PermissionStatus.permanentlyDenied) {
openAppSettings();
}
},
child: Text('Ask Permission'),
),
),
);
}
}
Код: Выделить всё
Я убедился, что правильно импортировал пакет разрешений_handler.
Я запустил flutter clean и flutter pub get несколько раз.
Я просмотрел несколько руководств YouTube, но ни одно из них не решило проблему.
Я даже создал новый проект с нуля, чтобы проверить, сохраняется ли проблема.
Ожидаемое поведение: я ожидаю, что когда я нажимаю кнопку «Спросить разрешение», приложение должно запрашивать разрешения на хранение.
Фактическое поведение: вместо запроса разрешений приложение перенаправляет меня на страницу настроек, где отображается сообщение «Нет разрешения». Обязательно"
страница настроек
Подробнее здесь: https://stackoverflow.com/questions/790 ... lutter-app