点亮技能之Android6.0动态权限

本文介绍了Android 6.0引入的运行时权限系统,针对危险权限进行了详细阐述,并提供了API讲解及实践示例。通过微信的“扫一扫”功能,模拟权限请求的交互逻辑,展示了如何处理用户的不同响应,包括在用户拒绝权限后不再提示的情况。
摘要由CSDN通过智能技术生成

一,写在前面

    在sdk23以前,用户安装应用时必须同意开发者添加的所有权限,否则应用无法安装成功。对于开发者来说,只需要在清单文件里添加功能模块需要的权限,非常方便。对于用户来说,却是灾难性的,数据隐私完全暴露在应用面前。

    于是,Google的Android团队在6.0版本推出了运行时权限系统,部分有关用户隐私的权限被划分为危险权限。对于开发者来说,普通权限的添加与以前并无两样,但危险权限不仅需要在清单文件中配置,还需要添加Java代码弹出对话框向用户请求权限。由于系统对动态权限已封装完善,咱们只需要调用新的API向用户请求权限即可,对话框也是系统提供,无需也不能自定义UI。

    本篇文章将会先介绍动态权限相关的四个方法,然后介绍如何使用这四个方法向用户申请动态权限。弹出权限请求的对话框后,用户可以同意权限拒绝权限拒绝权限并不再提示,APP要根据自己的业务需求,去处理用户的三种界面交互。在诸多应用中,腾讯公司的“微信”是一款用户体验较好的产品。因此,本篇文章会以微信的“扫一扫”功能需要的相机权限为例,模仿其界面交互的逻辑。


二,危险权限

关于危险权限的介绍,详细见官方文档。危险权限中有10个权限组,权限组在类Manifest的内部类permission_group中定义,详情见官方文档。每个权限组中包含几个权限,权限在类Manifest的内部类permission中定义,详情见官方文档

危险权限,如下所示:


三,API介绍

检查应用是否拥有某一权限permission

ContextCompat类中:
public static int checkSelfPermission(@NonNull Context context, 
@NonNull String permission)

permission:权限对应的字符串,在Manifest.permission中定义
eg
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值