getBase static method
Implementation
static Future<bool> getBase(
BuildContext context,
Permission permission,
PermissonTips info,
) async {
try {
final status = await permission.status;
if (status.isGranted) {
return true;
}
if (status.isDenied && context.mounted) {
final result = await StormyDialog.instance.showAlert(
title: info.title,
message: info.content ?? '',
overrideConfig: StormyDialogUIConfig(confirmText: info.confirmText),
position: StormyDialogPosition.center,
);
if (result == true) {
await permission
.onDeniedCallback(() async {
// await openAppSettings();
})
.onPermanentlyDeniedCallback(() async {
SmartDialog.showToast(
info.permanentlyDeniedText ?? '权限被永久拒绝,请到设置页面手动开启',
);
})
.onGrantedCallback(() {})
.onLimitedCallback(() {})
.request();
return await permission.status.isGranted;
} else {
SmartDialog.showToast(info.deniedText ?? '');
return false;
}
}
if (status.isPermanentlyDenied) {
SmartDialog.showToast(
info.permanentlyDeniedText ?? '权限被永久拒绝,请到设置页面手动开启',
);
return false;
}
return false;
} catch (e) {
return false;
}
}