Assent:Android 运行时权限 Kotlin 库
以 Kotlin 扩展简化 Android 运行时权限请求,提供结果回调、永久拒绝检测、请求防抖、理由提示与协程支持。
Assent 把权限请求封装为 Fragment Activity 与 AndroidX Fragment 上的 Kotlin 扩展,请求方法可在 Activity 或 Fragment 中以相同方式调用,并可自定义 requestCode。回调返回 AssentResult,包含结果字段与方法;能检测权限被永久拒绝的情况(系统不再弹窗),此时应向用户解释并跳转应用详情页。库对重复的权限请求做防抖:同时发起只请求一次,后到的请求会等前一个完成。提供可扩展的 rationale 处理器,内置 SnackBar 与 AlertDialog 两种;另有协程 API:awaitPermissionsResult 对应 askForPermissions,awaitPermissionsGranted 对应 runWithPermissions。权限仍需在 AndroidManifest.xml 中声明。