android6.0权限动态申请框架permissiondispatcher的方法

android6.0权限动态申请框架permissiondispatcher的方法,第1张

概述1,添加依赖在project的build.gradle文件中添加dependencies{classpath\'com.android.tools.build:gradle:2.1.2\'

1,添加依赖

在project的build.gradle文件中添加

dependencIEs {  classpath 'com.androID.tools.build:gradle:2.1.2'  classpath 'com.neenbedankt.gradle.plugins:androID-apt:1.8' }

在module的build.gradle中添加

apply plugin: 'androID-apt'。。。。。。。dependencIEs { 。。。。 compile 'com.github.hotchemi:permissionsdispatcher:2.3.1' apt 'com.github.hotchemi:permissionsdispatcher-processor:2.3.1'}

2,添加注解

package com.shilian.yibo;import ..../** * 主页面 */@RuntimePermissionspublic class MainActivity extends BaseActivity implements Compoundbutton.OnCheckedchangelistener,VIEw.OnClickListener { @OverrIDe protected voID onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentVIEw(R.layout.activity_main);  ButterKnife.bind(this);  ..... } @OnClick(R.ID.textVIEw_scan_code_home) public voID onClick(VIEw vIEw) {  switch (vIEw.getID()){   case R.ID.textVIEw_scan_code_home:    MainActivityPermissionsdispatcher.startScanWithCheck(this);    break;  } } @NeedsPermission(androID.Manifest.permission.CAMERA) voID startScan() {  startActivityForResult(new Intent(this,CaptureActivity.class),1); } /**  * OnShowRationale注解获取权限时给出提示的方法  * */ @OnShowRationale(androID.Manifest.permission.CAMERA) voID showRationaleForCamera(final PermissionRequest request) {  new AlertDialog.Builder(this).setPositivebutton("知道了",new DialogInterface.OnClickListener() {   @OverrIDe   public voID onClick(DialogInterface dialog,int which) {    request.proceed();   }  }).setMessage("扫码需要获取相机权限").setCancelable(true).show(); } /**  * OnPermissionDenIEd注解拒绝授权时回调的方法  * */ @OnPermissionDenIEd(androID.Manifest.permission.CAMERA) voID onCameraDenIEd() {  toast("相机权限未开启"); } /**  * OnNeverAskAgain注解当用户选择拒绝且不再询问时的回调方法  * */ @OnNeverAskAgain(androID.Manifest.permission.CAMERA) voID onCameraNeverAskAgain() {  toast("相机权限未开启"); } @OverrIDe public voID onRequestPermissionsResult(int requestCode,String[] permissions,int[] grantResults) {  super.onRequestPermissionsResult(requestCode,permissions,grantResults);  MainActivityPermissionsdispatcher.onRequestPermissionsResult(this,requestCode,grantResults); }}

注释说明

RuntimePermissions:必须的注释,用来注释要获取权限的activity或fragment

NeedsPermission:必须的注释,用来注释需要获取权限的方法

OnShowRationale:非必须的注释,提示用户为何要开启此权限,当用户拒绝后在册需要访问权限时调用

OnPermissionDenIEd:非必须的注释,用户选择拒绝时的提示

OnNeverAskAgain:非必须的注释,用户选择不再询问后的提示

获取权限的调用:从新编译程序会生成辅助类xxxPermissionsdispatcher,通过xxxPermissionsdispatcher.xxxWithCheck方法调用,同时重写onRequestPermissionsResult方法,在其中调用onRequestPermissionsResult的onRequestPermissionsResult方法,传回获取权限的结果。

以上这篇androID6.0权限动态申请框架permissiondispatcher的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程小技巧。

您可能感兴趣的文章:Android6.0动态申请权限所遇到的问题小结谈谈Android6.0运行时的权限处理Android6.0仿微信权限设置详解Android6.0运行时权限管理一款不错的android6.0、7.0权限管理器推荐Android *** 作系统获取Root权限 原理详细解析Android获取ROOT权限的实例代码Android权限 *** 作之uses-permission详解Android权限控制之自定义权限Android需要提升权限的 *** 作方法安卓Android6.0权限动态获取 *** 作示例 总结

以上是内存溢出为你收集整理的android6.0权限动态申请框架permissiondispatcher的方法全部内容,希望文章能够帮你解决android6.0权限动态申请框架permissiondispatcher的方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1143012.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存