android 6.0以后动态申请多个危险权限笔记
来源:互联网 发布:数据挖掘软件 编辑:程序博客网 时间:2024/06/07 02:07
6.0以后不仅在xml声明权限,还需要在运行代码中动态去声明。
1、权限分为普通权限和危险权限。如下是普通权限,不必动态声明。
1、ACCESS_LOCATION_EXTRA_COMMANDS
2、ACCESS_NETWORK_STATE
3、ACCESS_NOTIFICATION_POLICY
4、ACCESS_WIFI_STATEBLUETOOTH
5、BLUETOOTH_ADMIN
6、BROADCAST_STICKY
7、INTERNET
.
.
.
危险权限如下(可能不完整),需要动态申请
2.下面是如何一次申请多个权限,代码如下
先声明一个保存多个权限的数组
//1、声明一个数据保存需要声明的权限List<String> permissionList = new ArrayList<>();
if (ContextCompat.checkSelfPermission(PersonCenter.this, Manifest.permission.WRITE_EXTERNAL_STORAGE ) != PackageManager.PERMISSION_GRANTED) { permissionList.add(Manifest.permission.WRITE_EXTERNAL_STORAGE); /* ActivityCompat.requestPermissions(PersonCenter.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);*/ } if (ContextCompat.checkSelfPermission(PersonCenter.this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) { permissionList.add(Manifest.permission.CAMERA); } if (!permissionList.isEmpty()) { String[] permissions = permissionList.toArray(new String[permissionList.size()]); ActivityCompat.requestPermissions(PersonCenter.this, permissions, 1); } else { //执行需要权限的任务,一般封装成一个方法 }
//权限回调
@Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); switch (requestCode) { case 1: if (grantResults[0] == PackageManager.PERMISSION_GRANTED && grantResults.length >= 0) { //getimg(); } else { Toast.makeText(getApplicationContext(), "你拒绝了读取SD的权限", Toast.LENGTH_SHORT).show(); } break; } }
本文纯个人学习笔记,如有错误之处敬请留意纠正。跪谢。
阅读全文
0 0
- android 6.0以后动态申请多个危险权限笔记
- Android学习之动态申请危险权限
- Android 6.0+版本运行时权限的动态申请与主要危险权限组列举
- 安卓6.0以后动态申请权限
- Android 6.0以后权限申请问题
- 关于动态权限申请,多个动态权限申请
- Android笔记 android 7.0 动态申请权限
- Android 6.0 动态申请权限
- android 6.0权限动态申请
- Android 6.0 动态权限申请
- Android 6.0权限动态申请
- Android 6.0 动态权限申请
- android 6.0 动态权限申请
- Android 6.0 动态权限申请
- Android 6.0动态权限申请
- Android 6.0 动态权限申请
- Android 6.0 动态申请权限
- Android 6.0权限动态申请
- 行为驱动开发(BDD)你准备好了吗?
- 英文Ubuntu系统安装中文支持,中文UTF-8
- SSH三张表模糊查询(查询为中间表)
- Python sqlite3 模块 API
- 序言
- android 6.0以后动态申请多个危险权限笔记
- (8)nodejs学习--express整合模板引擎
- Python Study (01) 之 特殊方法
- yii框架所搜分页
- Zookeeper Golang客户端:go-zookeeper的基本使用
- yum安装报错“Error: xz compression not available”
- 超级记忆法(3)——第一小时
- trafodion导入ORC文件压缩方式是snappy
- 2048小游戏c语言实现