getStoragePermission static method
Implementation
static Future<bool> getStoragePermission(BuildContext context) async {
var info = await PackageInfo.fromPlatform();
var sdkVersion=0;
if (Platform.isAndroid) {
var sdk = await DeviceInfoPlugin().androidInfo;
sdkVersion=sdk.version.sdkInt;
} else {
sdkVersion = 0;
}
final permission = await Permission.storage.status;
if (sdkVersion < 33) {
if (permission != PermissionStatus.granted &&
permission != PermissionStatus.permanentlyDenied) {
const newPermission = Permission.storage;
if(context.mounted) {
var deniedPopupValue = await mirrorFlyPermissionDialog(context: context,
icon: filePermission,
content: AppConstants.filePermission,appName: info.appName);
if(deniedPopupValue) {
return await newPermission.request().isGranted;
}else{
return newPermission.status.isGranted;
}
}
return false;
} else {
return permission.isGranted;
}
} else {
if(context.mounted) {
return getAndroid13Permission(context);
} else {
return false;
}
}
}