Android6.0权限

权限处理逻辑

1.弹出系统申请

2.点击拒绝

        1)出现(不再提醒选项)并继续申请

        2)如果自定义弹框(解释申请权限),点击拒绝,还可弹出自定义弹框进行申请

3.点击不再提醒并拒绝,需要手动设置


原生权限方法代码

//检查是否授予了所需要的权限(当返回DENIED就需要进行申请授权了)

ContextCompat.checkSelfPermission(this,Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED

//请求授权

ActivityCompat.requestPermissions(this,newString[]{Manifest.permission.READ_CONTACTS},code);

//权限回调处理

权限回调

6.0以上需要动态申请的危险权限

危险权限

PermissionsDispatcher简单使用

一、添加注解和权限逻辑

1.@RuntimePermissions// 在activity或fragment上添加

2.@NeedsPermission注解,标注在你要获取权限的方法,请求权限成功时执行的代码片段

.@NeedsPermission

3.@OnShowRationale注解,用于解释申请的权限(非必须),拦截请求,告诉用户该请求是做什么的

    proceed()让权限请求继续,cancel()让请求中断

@OnShowRationale

4.@OnPermissionDenied注解,用户点击拒绝时执行(未勾选不再询问时),可用于解释(拒绝就不能xxx)或重新申请

@OnPermissionDenied

5.@OnNeverAskAgain注解,用户拒绝并且点击不再询问,可用于提醒用户手动开启

(注意,有些系统的不再询问勾选项是要用户拒绝授权一次才显示出来的)

@OnNeverAskAgain

二、生成辅助类Dispatcher

dispatcher回调
需要请求权限的地方调用dispatcher.request

原生代码进行定位

原生定位
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。