android6.0以上动态申请权限问题。
来源:互联网 发布:国产单片机品牌 编辑:程序博客网 时间:2024/05/17 22:01
android升级到6.0以后,一些敏感权限不仅仅需要在清单文件中配置权限,还需要在程序运行时动态的申请。请求权限代码
//判断是否需要动态申请权限,即系统是否是6.0以上if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){ int permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.READ_CONTACTS); if(permissionCheck!= PackageManager.PERMISSION_GRANTED){ //请求权限,可以请求多个权限,写在第二个参数的String[]数组里,第三个参数是个请求码 ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_CONTACTS}, REQUEST_READ_CONTACTS); } }
然后需要重写onRequestPermissionsResult()方法
@Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { switch (requestCode) { case REQUEST_READ_CONTACTS: { // If request is cancelled, the result arrays are empty. if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { //TODO 权限申请成功后要做的事情 // permission was granted, yay! Do the // contacts-related task you need to do. } else { //TODO 权限申请失败后要做的事情 // permission denied, boo! Disable the // functionality that depends on this permission. } return; } // other 'case' lines to check for other // permissions this app might request } }
如果是多个权限的话需要循环判断
详情见官方文档,需梯子
运行时请求权限
0 0
- android6.0以上动态申请权限问题。
- Android6.0以上,动态权限申请
- Android6.0以上权限申请
- Android6.0以上权限申请
- android6.0(API23)以上动态申请权限
- Android6.0及以上动态申请权限详细讲解
- android6.0 动态申请权限问题总结
- android6.0以上权限申请工具类
- android6.0以上权限申请工具类
- android6.0 动态申请权限
- Android6.0动态权限申请
- Android6.0:动态权限申请
- Android6.0动态申请权限
- android6.0 动态申请权限
- android6.0 动态权限申请
- Android6.0动态权限申请
- Android6.0动态权限申请
- android6.0 动态申请权限
- 泛型
- 162.Number of Digit One
- MSSQL之十七 触发器使用项目案例
- jni使用
- (02)Struts2_概述
- android6.0以上动态申请权限问题。
- JAVA.IO
- swift开发之定时器(NSTimer)
- JDBC( 九) JDBC对于BLOB的处理
- cJSON的使用介绍及实例分析
- Java多态易错点
- Shiro简介
- 多线程
- UML类图中箭头和线条的含义和用法