1616``` groovy
1717dependencies {
1818 // 权限请求框架:https://github.com/getActivity/XXPermissions
19- implementation 'com.hjq:xxpermissions:9.5 '
19+ implementation 'com.hjq:xxpermissions:9.6 '
2020}
2121```
2222
@@ -39,7 +39,7 @@ XXPermissions.with(this)
3939 .request(new OnPermissionCallback () {
4040
4141 @Override
42- public void onGranted (List<String > granted , boolean all ) {
42+ public void onGranted (List<String > permissions , boolean all ) {
4343 if (all) {
4444 toast(" 获取录音和日历权限成功" );
4545 } else {
@@ -48,11 +48,11 @@ XXPermissions.with(this)
4848 }
4949
5050 @Override
51- public void onDenied (List<String > denied , boolean never ) {
51+ public void onDenied (List<String > permissions , boolean never ) {
5252 if (never) {
5353 toast(" 被永久拒绝授权,请手动授予录音和日历权限" );
5454 // 如果是被永久拒绝就跳转到应用权限系统设置页面
55- XXPermissions . startPermissionActivity(MainActivity . this , denied );
55+ XXPermissions . startPermissionActivity(MainActivity . this , permissions );
5656 } else {
5757 toast(" 获取录音和日历权限失败" );
5858 }
@@ -130,26 +130,26 @@ android
130130* 最后直接调用下面这句代码
131131
132132``` java
133- XXPermissions . with(MainActivity . this )
133+ XXPermissions . with(this )
134134 // 不适配 Android 11 可以这样写
135135 // .permission(Permission.Group.STORAGE)
136136 // 适配 Android 11 需要这样写,这里无需再写 Permission.Group.STORAGE
137137 .permission(Permission . MANAGE_EXTERNAL_STORAGE )
138138 .request(new OnPermissionCallback () {
139139
140140 @Override
141- public void onGranted (List<String > granted , boolean all ) {
141+ public void onGranted (List<String > permissions , boolean all ) {
142142 if (all) {
143143 toast(" 获取存储权限成功" );
144144 }
145145 }
146146
147147 @Override
148- public void onDenied (List<String > denied , boolean never ) {
148+ public void onDenied (List<String > permissions , boolean never ) {
149149 if (never) {
150150 toast(" 被永久拒绝授权,请手动授予存储权限" );
151151 // 如果是被永久拒绝就跳转到应用权限系统设置页面
152- XXPermissions . startPermissionActivity(MainActivity . this , denied );
152+ XXPermissions . startPermissionActivity(MainActivity . this , permissions );
153153 } else {
154154 toast(" 获取存储权限失败" );
155155 }
@@ -161,24 +161,27 @@ XXPermissions.with(MainActivity.this)
161161
162162#### 不同权限请求框架之间的对比
163163
164- | 功能及细节对比 | [ XXPermissions] ( https://github.com/getActivity/XXPermissions ) | [ AndPermission] ( https://github.com/yanzhenjie/AndPermission ) | [ RxPermissions] ( https://github.com/tbruyelle/RxPermissions ) | [ PermissionsDispatcher] ( https://github.com/permissions-dispatcher/PermissionsDispatcher ) | [ EasyPermissions] ( https://github.com/googlesamples/easypermissions ) | [ PermissionX] ( https://github.com/guolindev/PermissionX )
164+ | 功能及细节 | [ XXPermissions] ( https://github.com/getActivity/XXPermissions ) | [ AndPermission] ( https://github.com/yanzhenjie/AndPermission ) | [ RxPermissions] ( https://github.com/tbruyelle/RxPermissions ) | [ PermissionsDispatcher] ( https://github.com/permissions-dispatcher/PermissionsDispatcher ) | [ EasyPermissions] ( https://github.com/googlesamples/easypermissions ) | [ PermissionX] ( https://github.com/guolindev/PermissionX )
165165| :--------: | :------------: | :------------: | :------------: | :------------: | :------------: | :------------: |
166- | 对应版本 | 9.0 | 2.0.3 | 0.12 | 4.8.0 | 3.0.0 | 1.4.0 |
166+ | 对应版本 | 9.6 | 2.0.3 | 0.12 | 4.8.0 | 3.0.0 | 1.4.0 |
167167| minSdk 要求 | API 11+ | API 14+ | API 14+ | API 14+ | API 14+ | API 15+ |
168168| class 文件数量 | 7 个 | 110 个 | 3 个 | 37 个 | 15 个 | 16 个 |
169- | aar 包大小 | [ 21 KB] ( https://bintray.com/getactivity/maven/xxpermissions#files/com/hjq/xxpermissions ) | [ 127 KB] ( https://mvnrepository.com/artifact/com.yanzhenjie/permission ) | [ 28 KB] ( https://jitpack.io/#com.github.tbruyelle/rxpermissions ) | [ 22 KB] ( https://bintray.com/hotchemi/org.permissionsdispatcher/permissionsdispatcher#files/org/permissionsdispatcher/permissionsdispatcher ) | [ 48 KB] ( https://bintray.com/easygoogle/EasyPermissions/easypermissions#files/pub/devrel/easypermissions ) | [ 32 KB] ( https://bintray.com/guolindev/maven/permissionx#files/com/permissionx/guolindev/permissionx ) |
170- | 安装包权限 | 支持 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 |
171- | 悬浮窗权限 | 支持 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 |
172- | 通知栏权限 | 支持 | 出现崩溃 | 不支持 | 不支持 | 不支持 | 不支持 |
173- | 系统设置权限 | 支持 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 |
174- | Android 8.0 两个新危险权限 | 已适配 | 已适配 | 未适配 | 已适配 | 未适配 | 已适配 |
175- | Android 10.0 三个新危险权限 | 已适配 | 部分适配 | 未适配 | 已适配 | 未适配 | 已适配 |
176- | Android 11 新版存储权限 | 已适配 | 未适配 | 未适配 | 未适配 | 未适配 | 未适配 |
177- | Android 11 新版定位策略 | 已适配 | 未适配 | 未适配 | 未适配 | 未适配 | 未适配 |
169+ | aar 包大小 | [ 19 KB] ( https://bintray.com/getactivity/maven/xxpermissions#files/com/hjq/xxpermissions ) | [ 127 KB] ( https://mvnrepository.com/artifact/com.yanzhenjie/permission ) | [ 28 KB] ( https://jitpack.io/#com.github.tbruyelle/rxpermissions ) | [ 22 KB] ( https://bintray.com/hotchemi/org.permissionsdispatcher/permissionsdispatcher#files/org/permissionsdispatcher/permissionsdispatcher ) | [ 48 KB] ( https://bintray.com/easygoogle/EasyPermissions/easypermissions#files/pub/devrel/easypermissions ) | [ 32 KB] ( https://bintray.com/guolindev/maven/permissionx#files/com/permissionx/guolindev/permissionx ) |
170+ | 安装包权限 | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
171+ | 悬浮窗权限 | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
172+ | 通知栏权限 | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
173+ | 系统设置权限 | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
174+ | Android 8.0 权限适配 | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ |
175+ | Android 9.0 权限适配 | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ |
176+ | Android 10.0 权限适配 | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ |
177+ | Android 11 新版存储权限 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
178+ | Android 11 新版定位策略 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
178179
179180#### 框架亮点
180181
181- * 首款适配 Android 11 的权限请求框架,适配过程几乎零成本
182+ * 首款也是唯一一款适配 Android 11 的权限请求框架
183+
184+ * 首款也是唯一一款适配所有安卓版本的权限请求框架
182185
183186* 简洁易用,采用链式调用的方式,使用只需一句代码
184187
@@ -190,7 +193,7 @@ XXPermissions.with(MainActivity.this)
190193
191194* 向下兼容属性,新权限在旧系统可以正常申请,无需调用者适配
192195
193- * 本框架不依赖任何第三方库,整个框架大小只有 21 kb(是同类框架中体积最小的)
196+ * 本框架不依赖任何第三方库,整个框架大小只有 19 kb(是同类框架中体积最小的)
194197
195198* 如果申请的权限没有在清单文件中注册会抛出异常(仅在 Debug 模式下判断)
196199
0 commit comments