关于安卓系统的权限
要谈安卓的权限管理要从 Linux 的权限管理说起
Linux 权限管理
用户权限 :普通用户只能操作自己文件,无法修改系统或他人文件。
系统权限 :系统进程运行受限权限,控制系统资源。
超级用户权限 :root用户拥有最高权限,可访问、修改文件及系统设置。
安卓 权限管理
应用权限
- 是应用声明的权限,表明应用所需的系统资源或功能。如,网络访问、存储读写、位置信息等。
- 在安卓6.0(API 23)之前,应用权限在应用安装时由用户统一授予,用户没有机会对每个具体权限进行单独控制。
- 包括普通权限(如网络访问)和敏感权限(如位置、摄像头等)。敏感权限需要在运行时请求。
- 是在安卓6.0(API 23)引入的新权限模型,用于处理涉及隐私和安全的敏感权限,如摄像头、麦克风、位置等。
- 对于这些敏感权限,应用不仅需要声明,还需要在运行时动态向用户请求授权。
- 用户可以在应用运行过程中选择是否授予这些敏感权限,并且可以随时在设置中更改授权。
- 在使用特定功能时,应用必须请求用户授予运行时权限(如使用摄像头或访问位置信息)。
- 如果用户拒绝授予运行时权限,应用可能无法访问相关功能。
用户权限
- 控制设备上的用户对系统资源的访问。
- 用户可以通过系统设置管理每个应用的权限,允许或拒绝某个应用对特定功能的访问。
系统权限
由定制化系统(华米OV)或安卓系统定义的权限,通常用于管理系统级功能和安全性:- :某些权限需要应用的签名与系统或其他应用的签名相匹配,只有特定的应用才能获取这些权限。如,访问电话功能(
READ_PHONE_STATE
)。 - :某些系统应用(如设置、系统管理工具等)具有特权权限,允许它们执行系统级操作,如修改系统设置。
- :设备管理员应用可以获得更高级别的权限,允许它们控制设备的安全性和管理功能,如擦除设备数据、锁定设备等。