Android PermissionsDispatcher - 请求多权限,不生成方法
Android PermissionsDispatcher - Ask for multi permissions, does not generate methods
我正在尝试向用户 PermissionsDispatcher 请求多重权限,适用于请求权限,但不生成方法回调。
已经有人用过了?
项目和环境信息:
- Android Studio 2.3.1
- buildToolsVersion '25.0.2'
gradle.
//Permissions
compile 'com.github.hotchemi:permissionsdispatcher:2.3.2'
annotationProcessor 'com.github.hotchemi:permissionsdispatcher-processor:2.3.2'
多重权限请求无效。 (不生成拒绝且不再询问流程。)
@NeedsPermission( {Manifest.permission.READ_CONTACTS,
Manifest.permission.CAMERA,
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.READ_PHONE_STATE,
Manifest.permission.WRITE_EXTERNAL_STORAGE})
void canGo() {
//Permissions ok, go to next flow step.
}
如果我更改为唯一权限工作正常并生成拒绝并且不再询问流程。
@NeedsPermission(Manifest.permission.READ_CONTACTS)
void canGo() {
//Permissions ok, go to next flow step.
}
提前致谢!
经过几个小时的尝试解决它,我已经弄清楚了库如何工作以请求多权限。根据官方repor issue-57.
@OnPermissionDenied is called when request of @NeedsPermission which
has same string array as arguments is denied.
如果我们有下面的方法
@NeedsPermission( {Manifest.permission.READ_CONTACTS,
Manifest.permission.CAMERA,
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.READ_PHONE_STATE,
Manifest.permission.WRITE_EXTERNAL_STORAGE})
void canGo() {
//Permissions ok, go to next flow step.
}
所以,我们还需要:
@OnPermissionDenied( {Manifest.permission.READ_CONTACTS,
Manifest.permission.CAMERA,
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.READ_PHONE_STATE,
Manifest.permission.WRITE_EXTERNAL_STORAGE})
void deniedPermissionsFlow() {
//Permissionsdenied, block next flow step.
}
我正在尝试向用户 PermissionsDispatcher 请求多重权限,适用于请求权限,但不生成方法回调。
已经有人用过了?
项目和环境信息:
- Android Studio 2.3.1
- buildToolsVersion '25.0.2'
gradle.
//Permissions
compile 'com.github.hotchemi:permissionsdispatcher:2.3.2'
annotationProcessor 'com.github.hotchemi:permissionsdispatcher-processor:2.3.2'
多重权限请求无效。 (不生成拒绝且不再询问流程。)
@NeedsPermission( {Manifest.permission.READ_CONTACTS,
Manifest.permission.CAMERA,
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.READ_PHONE_STATE,
Manifest.permission.WRITE_EXTERNAL_STORAGE})
void canGo() {
//Permissions ok, go to next flow step.
}
如果我更改为唯一权限工作正常并生成拒绝并且不再询问流程。
@NeedsPermission(Manifest.permission.READ_CONTACTS)
void canGo() {
//Permissions ok, go to next flow step.
}
提前致谢!
经过几个小时的尝试解决它,我已经弄清楚了库如何工作以请求多权限。根据官方repor issue-57.
@OnPermissionDenied is called when request of @NeedsPermission which has same string array as arguments is denied.
如果我们有下面的方法
@NeedsPermission( {Manifest.permission.READ_CONTACTS,
Manifest.permission.CAMERA,
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.READ_PHONE_STATE,
Manifest.permission.WRITE_EXTERNAL_STORAGE})
void canGo() {
//Permissions ok, go to next flow step.
}
所以,我们还需要:
@OnPermissionDenied( {Manifest.permission.READ_CONTACTS,
Manifest.permission.CAMERA,
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.READ_PHONE_STATE,
Manifest.permission.WRITE_EXTERNAL_STORAGE})
void deniedPermissionsFlow() {
//Permissionsdenied, block next flow step.
}