#android #flutter #permissions #android-permissions #permission-denied
Вопрос:
Я добавил все необходимое для загрузки файлов в локальное хранилище, но все равно получаю эту ошибку
В Манифесте
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION"/>
android:requestLegacyExternalStorage="true"
android:hardwareAccelerated="true"
В pubspec.yaml
permission_handler: ^6.1.1
В сборке.gradle
compileSdkVersion 30
minSdkVersion 22
targetSdkVersion 30
Future<bool> _requestPermission(Permission permission, Permission permission3,
Permission permission4) async {
print("xxxx IN ");
if (await permission.isGranted) {
print('xxxx ohhh');
return true;
} else {
await permission.request();
.then((value) => () {
print("xxxx value" value.toString());
if (value == PermissionStatus.granted) {
print("xxxx PERMISSION GRANTED ");
return true;
} else {
print("xxxx PERMISSION DENIED ");
}
})
.whenComplete(() => print('xxxx COMPLETED'))
.onError((error, stackTrace) => () {
print("xxxx onError " error);
print("xxxx onError " stackTrace.toString());
})
.catchError((onError) => () {
print('xxxx catchError ' onError.toString());
});
print("xxxx OUT ");
// var result2 = await permission3.request();
// var result3 = await permission4.request();
}
return false;
}
с помощью этой функции посмотрите, что печатается
, а что не печатается с тех пор()…
Пожалуйста, пожалуйста, помогите мне 🙂
Ответ №1:
Использовать android:requestLegacyExternalStorage="true"
в application
теге, а не в <activity>
теге:
<application
android:requestLegacyExternalStorage="true" >