Android框架——PermissionsDispatcher

本文介绍了在Android开发中如何使用PermissionsDispatcher框架进行权限管理。通过注解方式,简化了检测权限、申请权限及其相应回调的处理。文章详细讲解了Gradle引入、关键注解的使用,并提供了代码示例,帮助开发者更便捷地处理动态权限申请。
摘要由CSDN通过智能技术生成

在我们开发应用时有时候可能会使用到一些敏感的权限,比如短信权限,电话权限等。如果要完整的处理一个具有权限的操作,需要关注以下几点:

  • 检测权限已有时的操作
  • 没有权限,申请权限成功的操作
  • 没有权限,申请权限失败的操作
  • 没有权限,申请权限失败,且勾选了不再提示时的操作

PermissionsDispatcher是一个在Android中可以通过注解形式申请动态申请权限的框架。使用PermissionsDispatcher框架可以使用注解来将每个点的处理方法简单的切入,使用方法如下,以下是在API 26环境下运行的情况。

1.Gradle引入

 dependencies {
   
    	...
        implementation 'com.github.hotchemi:permissionsdispatcher:3.2.0'
        annotationProcessor 'com.github.hotchemi:permissionsdispatcher-processor:3.2.0'
      	...
    }

2.使用注解完善申请权限时的关键点

在使用PermissionsDispatcher框架时,有几个关键的注释需要了解:

  • @RuntimePermissions:加在Activity或者Fragment上,表明此界面有操作会使用到权限
  • @NeedsPermission(Manifest.permission.X):加在方法上,表明执行此方法前,需要获取到注解中的权限,如果没有权限就会自动申请,请求用户同意
  • @OnShowRationale(Manifest.permission.X):加在方法上,当用户第一次拒绝此权限时被调用,向用户说明为何需要此权限
  • @OnPermissionDenied(Manifest.permission.X):用户拒绝权限时调用
  • @OnNeverAskAgain(Manifest.permission.X):用户拒绝并勾选了不再提示时会调用

代码

//此处的注解表明此界面中的操作某些需要权限
@RuntimePermissions
public class PermissionActivity extends Activity {
   

    private Button btn_permission;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
   
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_permission)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值