AppOps 第 3 篇 - AppOps 权限相关方法|AndroidFramework源码分析AppOps应用操作管理|AppOps应用操作管理本文基于 Android 7.1.1 源码分析,如有错误,欢迎指正,谢谢!
[toc]
0 综述前面分析了 AppOpsManager 中的一些接口,最终都会调用 AppOpservice 中的相应接口,下面我们来看下 AppOpservice 中的权限操作!
涉及的类如下:
Settings 上层应用入口:
1234packages/apps/Settings/src/com/android ...
阅读更多
Permission第 6 篇 - permission info 的获取和更新|AndroidFramework源码分析Permission权限管理|Permission权限管理0 综述基于 Android 7.1.1,分析权限管理相关知识,本文权限信息的获取!
PackageManagerService 提供了很多个接口用于获取权限的信息!
1 获取权限组相关的信息!PackageManagerService.mPermissionGroups 保存了从所有 Application 中解析到的权限组信息!
PackageManagerService 提供了如下的两个接口 ...
阅读更多
Permission第 5 篇 - grantPermission 权限授予|AndroidFramework源码分析Permission权限管理|Permission权限管理[TOC]
0 综述基于 Android 7.1.1 源码,分析系统的权限管理机制!
本片文章总结一下权限授予的相关接口。
对于 dangrous 权限,应用程序需要显式的弹出弹窗,让用户主动的选择。当用户撤销或者授予时,会主动的调用!
但是对于 normal permission,siginature permission 以及 uri permission 都是无需弹窗申请的!
那么我们来看下 ...
阅读更多
AlarmManager第 3 篇 - trigger Alarm 流程分析|AndroidFramework源码分析AlarmManager闹钟管理|AlarmManager闹钟管理[toc]
基于 Android7.1.1 源码,分析 AlarmManagerService 的架构和逻辑,本篇文章来分析下 trigger Alarm 的流程!
0 回顾在上一篇 set Alarm 文章中,我们知道, set 方法会调用 AlarmMS.rescheduleKernelAlarmsLocked 方法来设置下一个 alarm!
该方法用于设置下一个 Alarm!
1234567 ...
阅读更多
AppOps 第 2 篇 - AppOpsManager 分析|AndroidFramework源码分析AppOps应用操作管理|AppOps应用操作管理[toc]
本文基于 Android 7.1.1 源码分析,如有错误,欢迎指正,谢谢!
0 综述AppOpsService 实现了大部分的核心功能逻辑,但它不能被其他模块直接调用访问,而是通过 AppOpsManager 提供访问接口。
1 重要常量和变量下面我们来看下 AppOpsManager 中定义的一些重要的变量和常量!
1.1 Operation CodeAppOpsManager 一共 ...
阅读更多
Permission第 4 篇 - requestPermission 权限申请|AndroidFramework源码分析Permission权限管理|Permission权限管理[TOC]
0 综述基于 Android 7.1.1 源码,分析系统的权限管理机制!
我们来分析下 dangerous 权限的申请,这类权限只能在 Activity 中申请,Activity 提供了如下接口,来帮助程序申请权限:
1 Activity.requestPermissions - 请求入口123456789101112public final void requestPermissio ...
阅读更多
UsageStats 第 4 篇 - UsageStatsService 和其他服务和进程的交互|AndroidFramework源码分析UsageStats使用状态管理|UsageStats使用状态管理[toc]
基于 Android7.1.1 源码分析 UsageStatsService 的架构和原理!
0 综述本文主要分析 UsageStatsService 和其他服务 / 进程交互!
我们知道 UsageStatsService 内部有两个类 LocalService 和 BinderService,他们是 UsageStatsService 提供給其他服务或进程的通信接口类!
Bind ...
阅读更多
AppOps 第 1 篇 - AppOpsService 的启动|AndroidFramework源码分析AppOps应用操作管理|AppOps应用操作管理[toc]
本文基于 Android 7.1.1 源码分析,如有错误,欢迎指正,谢谢!
0 综述AppOpsService 的初始化是在 ActivityManagerService 启动的时候:
123456789101112131415161718192021222324252627282930public ActivityManagerService(Context systemContex ...
阅读更多
AlarmManager第 2 篇 - set Alarm 流程分析|AndroidFramework源码分析AlarmManager闹钟管理|AlarmManager闹钟管理[toc]
基于 Android 7.1.1 源码,分析 AlarmManagerService 的机制
0 综述下面是设置精确 alarm 的方法:
123456789101112public static void setGlobalNoticeDialogForceShowAlarm(Context context) { Intent intent = new Intent( ...
阅读更多
Permission第 3 篇 - checkPermissions 权限检查|AndroidFramework源码分析Permission权限管理|Permission权限管理[toc]
0 综述基于 Android 7.1.1 源码,分析系统的权限管理机制!
下面来看下系统中的 check permission 相关的接口:
1 Context 权限检查接口 - ContextImpl在应用中申请权限离不开 Context,Context 中暴露了多个检查权限相关的接口,具体的实现是在 ContextImpl 中!
1.1 checkCallingPermission ...
阅读更多