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

作者:龙谷情Sinoam 时间:2022-07-22 10:35:15 

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()方法中调用。

来源:https://www.cnblogs.com/lgqrlchinese/p/10084559.html

标签:Android,动态,权限
0
投稿

猜你喜欢

  • java实现通过绑定邮箱找回密码功能

    2021-12-17 00:16:48
  • Android 管理Activity中的fragments

    2022-06-30 16:41:37
  • java 实现比较版本号功能

    2022-08-12 20:35:11
  • SpringCloud OpenFeign超详细讲解模板化远程通信的实现

    2023-04-27 06:43:29
  • Java Main 函数启动不退出的解决方案

    2022-03-24 14:25:03
  • Android实现绘制LocationMarkerView图的示例代码

    2023-01-14 07:55:29
  • Maven工程pom中如何定义jdk版本

    2022-02-18 08:16:13
  • C# 图片格式转换的实例代码

    2023-03-11 13:32:46
  • android自定义倒计时控件示例

    2022-03-26 23:12:18
  • Android百度地图应用开发基础知识

    2023-04-14 12:31:58
  • 兼容Spring Boot 1.x和2.x配置类参数绑定的工具类SpringBootBindUtil

    2023-11-03 05:35:06
  • C#字体池技术实现代码详解

    2022-12-30 06:18:02
  • Activiti流程图查看实例

    2022-09-10 17:51:44
  • C#编程调用Cards.dll实现图形化发牌功能示例

    2022-10-24 12:02:54
  • Android Button按钮点击背景和文字变化操作

    2023-10-27 22:27:22
  • 详解Java springboot 整合Shiro框架

    2022-12-14 15:56:21
  • Android BaseAdapter适配器详解用法

    2022-07-09 03:59:52
  • springboot动态调整日志级别的操作大全

    2023-11-03 19:31:12
  • IDEA配置maven环境的详细教程(Unable to import maven project报错问题的解决)

    2022-04-09 13:53:40
  • java中同类对象之间的compareTo()和compare()方法对比分析

    2023-08-15 09:56:57
  • asp之家 软件编程 m.aspxhome.com