华为mate20读取外置存储权限在哪,华为手机mate 20情景模式怎么消除

首页 > 实用技巧 > 作者:YD1662023-05-10 05:32:06

1. 什么是动态权限

去年底,上级主管部门为加强国内Android应用隐私管理,出台了一系列规定,我们的App也做了相应的修改。主要一条修改为,隐私提示与权限获取顺序。修改测试过程中,发觉部分同学对Android权限相关知识和历史并不了解,就此疫情期间忙里偷闲,整理些东西供参阅。

首先,从一张图开始此文。

华为mate20读取外置存储权限在哪,华为手机mate 20情景模式怎么消除(1)

IOS 12定位权限

时间回到2013年,苹果公司发布IOS7系统。其中一项令开发者头疼的修改点:隐私中增加相册、录音等权限,App如需使用相应权限,需要申请并由用户同意(IOS7以前,可以直接访问相册)。

针对此点,很多App在首次启动时一通弹窗,申请各式各样的权限。后来苹果为改善用户体验,在App Store审核时要求App必须在使用前一刻才能申请权限,有效改善了此类问题。比如一款直播App,当你启动App时并不需要相机、录音权限,等到你开播时才需要申请这两个权限。这一场景,其实就类似今天要提到的Android动态授权。

谷歌于2015年推出Android 6.0 Marshmallow,其中一个主要特点便是加入了危险权限管理。这里的“危险权限管理”就带来了“运行时权限”这个新特性。

“危险权限管理”即在进行一些涉及到用户隐私的操作时,需要获取用户的授权才能使用。如通讯录、短信、相机、定位等隐私权限。获取用户权限,谷歌提倡在应用运行时向其授权,简称,运行时权限(也被叫做“动态权限/动态授权”,后文称“动态权限”)。

那,在这之前,Android权限管理是怎样的呢?自己杜撰了下国内Android权限管理经历的大概四个阶段。

Android权限管理简史

第一阶段:没遮拦

早期Android系统(Android 6.0以前),在安装App前,会罗列出App申请的所有权限。如果继续安装,视为用户同意赋予App所需权限。

例如:sony L36h Android 4.2.2系统。在尝试安装App时,弹窗罗列了App申请的全部权限。只能对所需权限进行查看,无法拒绝授权,可选择取消安装或继续安装。

华为mate20读取外置存储权限在哪,华为手机mate 20情景模式怎么消除(2)

Sony L36h安装提示

这种方式,对于开发者极为友好,仅需在Manifest中配置App所需权限即可,代码就可以直接调用了。但是对于用户来说,这种方法存在极大的安全隐患。

例:获取手机IMEI,需要PHONE_STATE权限;访问网络,需要INIERNET权限。只许在Manifest文件中添加权限即可。

<!-- PHONE_STATE权限--> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- 网络权限--> <uses-permission android:name="android.permission.INTERNET" />

第二阶段:第三方安全App

基于以上背景,为解决部分敏感权限被不合理使用,国内部分公司的安全类App,开始监控应用获取手机敏感权限并做出提示。如360手机卫士、腾讯手机管家等产品,当监测到有App尝试使用短信权限、定位等敏感权限,会告知用户,并可以拒绝赋予权限。刚开始,还比较顺利。但随着手机厂商逐渐开始修改ROM,第三方安全App的兼容、性能问题逐步爆发。

例:HTC T328 Android 4.0.2系统。浏览器扫码功能触发相机调用时,360手机卫士会弹出权限提示窗,用户可以允许或拒绝授权。注意,此窗由第三方安全软件弹出,非系统级弹窗,跟后面要说的两种弹窗有所区别。

华为mate20读取外置存储权限在哪,华为手机mate 20情景模式怎么消除(3)

360手机卫士 弹窗

第三阶段:手机厂商介入

随着时间的推移,手机厂商开始发力,纷纷将第三方软件的权限提示功能直接做入ROM。

例:小米4,基于Android 4.4.4的MIUI7;oppo R9,基于Android 5.1的ColorOS 3.0,浏览器扫码功能触发相机调用时,会弹出权限提示窗。此窗,由ROM也就是系统自己弹出,为系统级权限弹窗。

华为mate20读取外置存储权限在哪,华为手机mate 20情景模式怎么消除(4)

首页 12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.