AppOps(Application Operations) 应
1. 基本概念 与 历史.
AppOps 全称是 Application Operations, 即 应用操作(管理).
类似我们平时常说的 应用程序的操作(权限)管理。
AppOps是Google原生Android包含的功能,但是Google在每次版本更新时都会隐藏掉AppOps的入口。
在2017的Google IO大会上,Google透露Android M ( Android 6.0 )会加入 Application Permission Manager的功能,
该功能应该就是基于AppOps实现的。
2. 目的
App-ops(简写) 用于两个目的:访问控制和跟踪。
App-ops 涵盖了各种各样的功能,从帮助运行时 权限 访问控制和跟踪到电池消耗跟踪。
3. 与 App Permission Manager的 联系与区别
(1)AppOps虽然涵盖了App的权限管理 ( App Permission Manager),
但是Google原生的设计并不仅仅是对“权限”的管理,而是对App的“动作”的管理。
(2)我们平时讲的 权限管理多是针对 具体的权限(App开发者在Manifest里申请的权限),
而AppOps 所管理的是所有可能涉及 用户隐私和安全的操作,
包括 access notification, keep weak lock, activate vpn, display toast等等,
有些操作是 不需要Manifest 里 申请权限的.
4. API 情况
AppOpsManager 接口, AppOpsService 具体实现.
AppOpsService具体处理用户的各项设置,用户的设置项存储在 /data/system/appops.xml文件中。
AppOps 提供的API 是供 系统调用,不让 第三方 app 使用.
参考:
Android原生权限管理:AppOps
https://developer.android.com/reference/android/app/AppOpsManager