-
public interface IPermissionService权限服务接口,用于统一管理和处理应用程序的权限请求。
此接口定义了一组方法,用于注册权限请求的回调、处理权限请求逻辑、显示权限说明对话框、引导用户前往权限设置页面,以及获取和解释权限请求的相关信息。 通过实现此接口,应用程序可以在不同组件中保持一致的权限处理策略。
-
-
Method Summary
Modifier and Type Method Description abstract ActivityResultLauncher<String>registerPermissionLauncher()注册一个用于请求运行时权限的 ActivityResultLauncher。此方法应返回一个配置好的 ActivityResultLauncher 实例,用于在需要时触发权限请求。 abstract UnitwithPermission(Permission permission, Function0<Unit> onPermissionDenied, Function0<Unit> onPermissionGranted)处理权限请求逻辑。根据用户对权限请求的响应,执行不同的逻辑: 如果权限已授予,则调用 [onPermissionGranted] 回调。 如果权限被拒绝且不再提示,则调用 [onPermissionDenied] 回调(如果提供)。 如果需要显示权限说明对话框,则应由实现类负责显示。abstract UnitshowRequestPermissionRationaleDialog(Permission permission)显示权限请求的说明对话框。当用户已拒绝过该权限请求,且再次请求时需要额外解释的情况下,应显示此对话框。 abstract UnitgrantingPermissions()引导用户前往应用的权限设置页面。此方法应触发导航至应用的权限设置页面,以便用户可以手动授予权限。 abstract StringgetExplanationForSensitiveInformation(Permission permission)获取为什么需要特定权限的解释说明。此方法返回一个字符串,解释为什么应用需要请求的特定权限。 abstract UnitexplainAccessToMoreSensitiveInformation(Permission permission)解释对敏感信息的访问权限。此方法提供额外的解释或步骤,以便用户理解为什么应用需要访问敏感信息。 -
-
Method Detail
-
registerPermissionLauncher
abstract ActivityResultLauncher<String> registerPermissionLauncher()
注册一个用于请求运行时权限的 ActivityResultLauncher。
此方法应返回一个配置好的 ActivityResultLauncher 实例,用于在需要时触发权限请求。
-
withPermission
abstract Unit withPermission(Permission permission, Function0<Unit> onPermissionDenied, Function0<Unit> onPermissionGranted)
处理权限请求逻辑。
根据用户对权限请求的响应,执行不同的逻辑:
如果权限已授予,则调用 [onPermissionGranted] 回调。 如果权限被拒绝且不再提示,则调用 [onPermissionDenied] 回调(如果提供)。 如果需要显示权限说明对话框,则应由实现类负责显示。- Parameters:
permission- 请求的权限。onPermissionDenied- 权限被拒绝时调用的回调,可为空。onPermissionGranted- 权限授予时调用的回调。
-
showRequestPermissionRationaleDialog
abstract Unit showRequestPermissionRationaleDialog(Permission permission)
显示权限请求的说明对话框。
当用户已拒绝过该权限请求,且再次请求时需要额外解释的情况下,应显示此对话框。
- Parameters:
permission- 需要解释的权限。
-
grantingPermissions
abstract Unit grantingPermissions()
引导用户前往应用的权限设置页面。
此方法应触发导航至应用的权限设置页面,以便用户可以手动授予权限。
-
getExplanationForSensitiveInformation
abstract String getExplanationForSensitiveInformation(Permission permission)
获取为什么需要特定权限的解释说明。
此方法返回一个字符串,解释为什么应用需要请求的特定权限。
- Parameters:
permission- 请求解释的权限。
-
explainAccessToMoreSensitiveInformation
abstract Unit explainAccessToMoreSensitiveInformation(Permission permission)
解释对敏感信息的访问权限。
此方法提供额外的解释或步骤,以便用户理解为什么应用需要访问敏感信息。
- Parameters:
permission- 需要访问的敏感权限。
-
-
-
-