Android系统中权限申请的方式有两种,如下图所示:
静态申请
Android6.0以前的系统(API < 23)采用的这种方式,只要用户在AndroidManifest.xml中注册了权限,安装APP后默认就获取了这些权限。这种授权方式安全性极低,如果用户安装后没有关闭相应的权限,用户的私密数据很容易被哪些垃圾APP窃取。为了解决这种问题,国内的各大手机厂商为Android5.0以下的系统,针对某些权限做了一定的限制,即便在Android5.0以下,也需要用户进行手动授权才可使用,这在某种程度上提高了安全性,但也因没有统一的标准,从而出现了各种兼容问题。
动态申请
随着系统的升级,Google也意识到静态申请权限的弊端,所以在Android6.0中,对权限进行了重新梳理,将权限分为普通权限和危险权限:
- 正常权限:不会给用户隐私带来危险的权限,只要开发者在AndroidManifest.xml中注册了,系统将自动授权;
- 危险权限:可以访问用户隐私数据的权限,必须获取用户的同意才可获得授权;