美文网首页
Android6.0权限——安装时默认开启app全部权限

Android6.0权限——安装时默认开启app全部权限

作者: lxb89 | 来源:发表于2018-07-17 11:05 被阅读0次

    1、默认开启app全部权限

    Android6.0之后推出动态申请权限,所有敏感权限默认都是没有开启的状态,这两天偶然间看到其他app安装后所有权限(包括敏感权限)默认都是开启的状态,6.0之后敏感权限都需要申请的,怎么可能跨过用户的,好奇心驱使我研究了一下。

    6.0以后,也就是23以后,敏感权限需申请,特别是有些手机系统还需要储存权限,这就相当尴尬了,因为大部分用户安装完app之后都是看都不看一直点下一步的,这个时候储存权限默认是没有开启的,但是app的自动更新需要这个权限,有些系统在需要这个储存权限的时候还不会提示用户,那这就相当尴尬了,怎么解决这个问题呢?让我们来分析一下。

    我的开发工具是AS2.3的,创建项目后默认targetSdkVersion是25。 22 之前,也就是android5.1之前包括5.1,在清单文件中注册过的权限默认都是开启状态的,但是23之后,默认的就是没有开启,所以,我们只需要吧targetSdkVersion改为小于22就可以了,这样用户安装后权限默认就是给予的状态,就解决了这个问题。

    但是,升级是大势所趋,所以大家尽量还是从了谷歌吧。

    2、兼容性

    为了保持兼容性建议使用v4包的兼容方法:

    ContextCompat.checkSelfPermission()

    ActivityCompat.requestPermissions()

    ActivityCompat.OnRequestPermissionsResultCallback

    ActivityCompat.shouldShowRequestPermissionRationale()

    当targetSdkVersion小于23,但是设备是6.0系统时:

    设备权限模型使用老的版本

    清单文件中列出的权限只会在安装时询问

    用户可以在设置列表中编辑相关权限,这对应用能否正常运行有很大影响

    当targetSdkVersion大于等于23,但是设备系统小于6.0时:

    设备权限模型使用老的版本

    清单文件中列出的权限只会在安装时询问

    参考博文链接:https://blog.csdn.net/kong_gu_you_lan/article/details/52488097

    使用运行时权限遇到的一些问题汇总到了一篇博客中,欢迎点击查看《Android 6.0运行时权限问题汇总》

    相关文章

      网友评论

          本文标题:Android6.0权限——安装时默认开启app全部权限

          本文链接:https://www.haomeiwen.com/subject/niswpftx.html