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的方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)