zoukankan      html  css  js  c++  java
  • Android基础——适配安卓6.0新权限系统

    在安卓6.0版本以后,新的权限系统出现了,为了更好的保护用户的安全,新的权限系统需要开发者在代码中手动申请,所以为了适配6.0权限系统,我们不得不学习权限系统

    安卓6.0新权限系统分类有两种

    1. 普通权限(normal):这个权限类型并不直接威胁到用户的隐私,可以直接在manifest清单里注册,系统会帮我们默认授权的
    2. 危险权限 (dangerous):这个可以直接给app访问用户一些敏感的数据,不仅需要在manifest清单里注册,同时在使用的时候,需要向系统请求授权

    危险权限的特点

    • 危险权限是按组分配的,只要同个组的某个权限被同意后,组中的其他权限也会被默认同意

    普通权限列表图

    危险权限分组图

    申请权限很人性化,类似我们的签证办手续一样,其申请步骤有

    1. 申明该权限
    2. 检查是否已经有该权限
    3. 如果没有则进行申请权限
    4. 接收申请成功或者失败回调

    ① 要使用权限时,别忘了要在manifest中申请

    ② 申请单一权限

    ③ 申请多个权限

    如要你要同时申请多个权限,那么可以在requestPermissions传进要申请的权限即可

    ④ 判断安卓6.0系统

    为了代码的严谨性,在安卓6.0以下我们就不用手动申请了,这里就需要判断一下安卓的版本

    很多时候用户不小心点击拒绝,或者害怕手机信息被盗而点拒绝,当第二次进入程序时,summary我们要进行相对应的处理,这里先看下面这个方法的说明

    • shouldShowRequestPermissionRationale()

      1. 第一次请求权限时,用户拒绝了,调用shouldShowRequestPermissionRationale()后返回true,应该显示一些为什么需要这个权限的说明
      2. 用户在第一次拒绝某个权限后,下次再次申请时,授权的dialog中将会出现“不再提醒”选项,一旦选中勾选了,那么下次申请将不会提示用户
      3. 第二次请求权限时,用户拒绝了,并选择了“不在提醒”的选项,调用shouldShowRequestPermissionRationale()后返回false

    知道了这个方法的原理后,那么代码就很快就可以写出来了,下面就直接贴上完整代码

    实现效果图

  • 相关阅读:
    系列文章--突袭HTML5之Javascript
    arguments对象的实例使用
    Javascript常用的设计模式详解
    javascript日历插件
    系列文章--AJAX技术系列总结
    零基础汇编学习笔记
    VC++6.0注释快捷键的添加使用
    VC6++常用快捷键
    汇编题目:编写包含多个功能子程序的中断例程
    汇编题目:按A键,当松开的时显示字母A
  • 原文地址:https://www.cnblogs.com/zhanglixina/p/9597660.html
Copyright © 2011-2022 走看看