6.0权限动态适配(四)(存在问题)
来源:互联网 发布:耳机推荐 知乎 编辑:程序博客网 时间:2024/06/05 13:29
功能
动态申请权限,支持Activity与Fragment,且拒绝后可判断并再次弹出对话框。
用法
引入
project’s build.gradle
buildscript { dependencies { classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4' }}
module’s build.gradle
apply plugin: 'com.neenbedankt.android-apt'dependencies { apt 'com.zhy:mpermission-compiler:1.0.0' compile 'com.zhy:mpermission-api:1.0.0'}
申请权限
MPermissions.requestPermissions(MainActivity.this, REQUEST_CODE_SDCARD, Manifest.permission.WRITE_EXTERNAL_STORAGE);
权限申请回调
@Overridepublic void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults){ MPermissions.onRequestPermissionsResult(this, requestCode, permissions, grantResults); super.onRequestPermissionsResult(requestCode, permissions, grantResults);}
结果
成功方法通过注解@PermissionGrant标识
@PermissionGrant(REQUEST_CODE_SDCARD)public void requestSdcardSuccess() { Toast.makeText(this, "GRANT ACCESS SDCARD!" + " " + MPermissions.shouldShowRequestPermissionRationale(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE, REQUEST_CODE_SDCARD), Toast.LENGTH_SHORT).show();}
失败方法通过注解@PermissionDenied标识
@PermissionDenied(REQUEST_CODE_SDCARD)public void requestSdcardFailed() { Toast.makeText(this, "DENY ACCESS SDCARD!" + " " + MPermissions.shouldShowRequestPermissionRationale(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE, REQUEST_CODE_SDCARD), Toast.LENGTH_SHORT).show();}
若需解释,会自动执行使用@ShowRequestPermissionRationale注解的方法
if (!MPermissions.shouldShowRequestPermissionRationale(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE, REQUECT_CODE_SDCARD)){ MPermissions.requestPermissions(MainActivity.this, REQUEST_CODE_SDCARD, Manifest.permission.WRITE_EXTERNAL_STORAGE);}
问题
小米4S真机测试,初次提示无论点击拒绝或同意,MPermissions.shouldShowRequestPermissionRationale(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE, REQUEST_CODE_SDCARD)
均返回false
。
完整代码
https://github.com/snpmyn/PermissionDynamicTwo.git
原著
MyPermissions
阅读全文
0 0
- 6.0权限动态适配(四)(存在问题)
- 6.0权限动态适配(一)(存在问题)
- 6.0权限动态适配(二)(存在问题)
- 6.0权限动态适配(五)
- 权限动态适配(三)
- 6.0动态申请权限问题
- android 6.0动态权限问题
- Android 6.0动态权限适配
- 用户行为日志-js埋点(四)可能存在的问题和总结
- 用户行为日志-js埋点(四)可能存在的问题和总结
- 解决Android 6.0动态添加权限问题
- Android 6.0动态权限的相关问题
- 百度地图定位6.0动态权限问题
- 安卓6.0以上动态权限问题
- Android 6.0动态权限申请问题
- android 动态权限问题
- Android动态权限问题
- 权限管理系统(四)
- 读书笔记--C陷阱与缺陷(七)
- 201403-1 相反数
- 面向对象设计原则之单一职责原则
- cmd 输入sqlplus 后 “请输入用户名”显示乱码
- Timer+Handler组合实现定时循环执行代码操作
- 6.0权限动态适配(四)(存在问题)
- Intergraph TANK 2016 v8.00.00 1CD(最新版,储油罐设计软件)
- Linux多线程练习2
- Java面向对象(六)接口
- Spark学习笔记1
- 【2017新疆网络赛】A Banana
- C语言实现静态顺序表
- CentOS 7下Apache HTTP Server安装配置
- 返回的时候,导航右上角黑屏ios