Android6.0获取动态权限代码示例
Android系统对所有的危险权限进行了分组,称为 权限组 。属于同一组的危险权限将自动合并授予,用户授予应用某个权限组的权限,则应用将获得该权限组下的所有权限(前提是相关权限在 AndroidManifest.xml 中有声明)。
危险权限 和 权限组 列表如下: 在 AndroidManifest.xml 声明过的危险权限对应的权限组可以在系统 “设置” -> “应用” -> “应用信息” -> “权限” 中查看,可以手动授权和取消授权。
1、设备系统是 Android 6.0 (API 23) 或更高版本,并且应用的 targetSdkVersion 是 23 或更高版本,则针对在 AndroidManifest.xml 中声明的危险权限,在运行时还需要动态请求用户授权。
2、动态权限请求相关操作的API封装在在android.support.v4包中,发起请求权限的Activity需要直接或间接继承android.support.v4.app.FragmentActivity。
3、 也可以在直接或间接继承 android.support.v4.app.Fragment 的 Fragment 中发起权限请求。
首先在清单文件中注册
然后在MainActivity.java中将权限封装到一个String数组中
static final String[] PERMISSION = new String[]{ Manifest.permission.READ_PHONE_STATE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.RECORD_AUDIO, Manifest.permission.RECEIVE_BOOT_COMPLETED };
然后在onCreate()方法中加入一下代码:
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) { //Android 6.0申请权限 ActivityCompat.requestPermissions(this, PERMISSION, 1); } else { Toast.makeText(this, "成功", Toast.LENGTH_SHORT).show(); }
我通常将上述代码写在另一个方法中,然后在onCreate()方法中调用。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
android 仿微信demo——微信消息界面实现(服务端)
本系列文章主要介绍了微信小程序-阅读小程序实例(demo),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能给你们提供帮助2021-06-06Jetpack Compose自定义动画与Animatable详解
在今年的Google/IO大会上,亮相了一个全新的 Android 原生 UI 开发框架-Jetpack Compose, 与苹果的SwiftIUI一样,Jetpack Compose是一个声明式的UI框架,这篇文章主要介绍了Jetpack Compose自定义动画与Animatable2022-10-10微信浏览器弹出框滑动时页面跟着滑动的实现代码(兼容Android和IOS端)
小编在做微信开发的时候遇到微信浏览器弹出框滑动时页面跟着滑动的效果,下面把关键代码分享给大家,需要的朋友参考下2016-11-11Android中oncreate中获得控件高度或宽度的实现方法
这篇文章主要介绍了Android中oncreate中获得控件高度或宽度的实现方法的相关资料,希望通过本文大家能实现这样的功能,需要的朋友可以参考下2017-09-09
最新评论