diff --git a/lib/core/utils/permission_util.dart b/lib/core/utils/permission_util.dart index 647dc3989..03183ada1 100644 --- a/lib/core/utils/permission_util.dart +++ b/lib/core/utils/permission_util.dart @@ -27,7 +27,7 @@ class PermissionUtil { final _storage = GetStorage(); /// 权限拒绝次数阈值(达到此次数后视为永久拒绝) - static const int _denialThreshold = 2; + static const int _denialThreshold = 5; /// 获取权限拒绝次数的存储键 String _getDenialCountKey(Permission permission) { @@ -91,7 +91,8 @@ class PermissionUtil { Logger.d('PermissionUtil', '$permissionName 当前拒绝次数: $denialCount'); // 如果拒绝次数达到阈值或系统返回了 permanentlyDenied,直接视为永久拒绝 if (status.isPermanentlyDenied || denialCount >= _denialThreshold) { - Logger.w('PermissionUtil', '$permissionName 已被系统永久拒绝或自定义计数达到阈值($denialCount),触发设置引导'); + Logger.w('PermissionUtil', + '$permissionName 已被系统永久拒绝或自定义计数达到阈值($denialCount),触发设置引导'); await _showPermanentDenialDialog( permissionName: permissionName, permanentDenialText: permanentDenialText, @@ -109,8 +110,6 @@ class PermissionUtil { ); isOverlayShown = true; - - final PermissionStatus newStatus = await permissionType.request(); Logger.d('PermissionUtil', '请求后 $permissionName 的新权限状态: $newStatus'); @@ -137,7 +136,8 @@ class PermissionUtil { if (newStatus.isDenied) { Logger.w('PermissionUtil', '$permissionName 权限被拒绝,增加拒绝计数'); - await _storage.write(_getDenialCountKey(permissionType), denialCount + 1); + await _storage.write( + _getDenialCountKey(permissionType), denialCount + 1); } // 所有未授权的情况最终都返回 false