Android6.0获取动态权限代码示例

 更新时间:2020年11月18日 15:32:52   作者:龙谷情Sinoam  
这篇文章主要介绍了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 Studio实现下拉列表效果

    Android Studio实现下拉列表效果

    这篇文章主要为大家详细介绍了Android Studio实现下拉列表效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • Android解析XML文件升级APK的方法

    Android解析XML文件升级APK的方法

    这篇文章主要介绍了Android解析XML文件升级APK的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-07-07
  • Android 组件Gallery和GridView示例讲解

    Android 组件Gallery和GridView示例讲解

    本文主要讲解Android 组件Gallery和GridView,这里详细介绍组件Gallery和GridView的知识要点,并附示例代码和实现效果图,有兴趣的小伙伴可以参考下
    2016-08-08
  • android实现微信联合登录开发示例

    android实现微信联合登录开发示例

    本篇文章主要介绍了android实现微信联合登录开发示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • Android开发Viewbinding委托实例详解

    Android开发Viewbinding委托实例详解

    这篇文章主要为大家介绍了Android开发Viewbinding委托实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Android系统进程间通信(IPC)机制Binder中的Client获得Server远程接口过程源代码分析

    Android系统进程间通信(IPC)机制Binder中的Client获得Server远程接口过程源代码分析

    本文主要介绍Android 通信Binder中的Client获得Server远程接口,这里对Android Binder 中Client中Server 源码做了详细分析介绍,有研究Android源码的小伙伴可以参考下
    2016-08-08
  • 探秘Android手势事件机制与优化技巧

    探秘Android手势事件机制与优化技巧

    在Android开发中,手势操作被广泛应用于各种应用场景,如滑动、双击等。本文将介绍Android手势事件传递的原理,包括手势事件的类型、分发机制和处理流程等内容,并提供一些优化用户体验的技巧,需要的朋友可以参考下
    2023-06-06
  • Android Studio签名打包的两种方式(图文教程)

    Android Studio签名打包的两种方式(图文教程)

    这篇文章主要介绍了Android Studio签名打包的两种方式(图文教程),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • ANDROID 完美退出APP的实例代码

    ANDROID 完美退出APP的实例代码

    这篇文章介绍了ANDROID 完美退出APP的实例代码,有需要的朋友可以参考一下
    2013-08-08
  • 简单谈谈我的Android屏幕适配之路

    简单谈谈我的Android屏幕适配之路

    我相信Android碎片化问题是让所有的Android开发者都比较头疼的问题.尤其是屏幕适配这一块儿.想要自己的app在不同的设备上面都有一个比较好的显示效果.就必须做好相应的屏幕适配.
    2017-11-11

最新评论