AppOps原理

AppOps是Android系统中的应用程序操作管理功能,不仅管理权限,更关注操作本身。它通过AppOpsService、appops.xml和appops_policy.xml进行工作,并通过AppOpsManager API接口进行交互。用户设置存储在/data/system/appops.xml中,影响如Location Service和Audio Service等系统服务的行为。尽管Android SDK中的AppOps接口有限制,但可以通过打包AppOpsManager.java来访问和自定义权限管理。
摘要由CSDN通过智能技术生成

1.AppOps简介

AppOps全称是 Application Operations,类似我们平时常说的应用程序的操作(权限)管理。AppOps是Google原生Android包含的功能,但是Google在每次版本更新时都会隐藏掉AppOps的入口。

注意:AppOps虽然涵盖了App的权限管理,但是Google原生的设计并不仅仅是对“权限”的管理,而是对App的“动作”的管理。我们平时讲的权限管理多是针对具体的权限(App开发者在Manifest里申请的权限),而AppOps所管理的是所有可能涉及用户隐私和安全的操作,包括 access notification, keep weak lock, activate vpn, display toast 等等,有些操作是不需要Manifest里申请权限的。

2.AppOps总体概览

核心服务:AppOpsService系统服务,系统启动时该服务会启动运行。

配置文件:appops.xml appops_policy.xml

Appops.xml位于 /data/system/目录下,存储各个app的权限设置和操作信息。

Appops_policy.xml位于 /system/etc/目录下,该文件只在appops strict mode enable时才会存在和使用。

API接口: AppOpsManager

AppOpsService实现了大部分的核心功能逻辑,但它不能被其他模块直接调用访问,而是通过AppOpsManager提供访问接口。

UI层:AppOpsSummary,AppOpsCategory等。上传UI显示以及基本逻辑处理。

3.结构图

AppOps整体的工作框架基本如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值