AlarmManager第 3 篇 - trigger Alarm 流程分析
[toc] 基于 Android7.1.1 源码,分析 AlarmManagerService 的架构和逻辑,本篇文章来分析下 trigger Alarm 的流程! 0 回顾在上一篇 set Alarm 文章中,我们知道, set 方法会调用 AlarmMS.rescheduleKernelAlarmsLocked 方法来设置下一个 alarm! 该方法用于设置下一个 Alarm! 1234567 ...
阅读更多
AppOps 第 2 篇 - AppOpsManager 分析
[toc] 本文基于 Android 7.1.1 源码分析,如有错误,欢迎指正,谢谢! 0 综述AppOpsService 实现了大部分的核心功能逻辑,但它不能被其他模块直接调用访问,而是通过 AppOpsManager 提供访问接口。 1 重要常量和变量下面我们来看下 AppOpsManager 中定义的一些重要的变量和常量! 1.1 Operation CodeAppOpsManager 一共 ...
阅读更多
Permission第 4 篇 - requestPermission 权限申请
[TOC] 0 综述基于 Android 7.1.1 源码,分析系统的权限管理机制! 我们来分析下 dangerous 权限的申请,这类权限只能在 Activity 中申请,Activity 提供了如下接口,来帮助程序申请权限: 1 Activity.requestPermissions - 请求入口123456789101112public final void requestPermissio ...
阅读更多
UsageStats 第 4 篇 - UsageStatsService 和其他服务和进程的交互
[toc] 基于 Android7.1.1 源码分析 UsageStatsService 的架构和原理! 0 综述本文主要分析 UsageStatsService 和其他服务 / 进程交互! 我们知道 UsageStatsService 内部有两个类 LocalService 和 BinderService,他们是 UsageStatsService 提供給其他服务或进程的通信接口类! Bind ...
阅读更多
AppOps 第 1 篇 - AppOpsService 的启动
[toc] 本文基于 Android 7.1.1 源码分析,如有错误,欢迎指正,谢谢! 0 综述AppOpsService 的初始化是在 ActivityManagerService 启动的时候: 123456789101112131415161718192021222324252627282930public ActivityManagerService(Context systemContex ...
阅读更多
AlarmManager第 2 篇 - set Alarm 流程分析
[toc] 基于 Android 7.1.1 源码,分析 AlarmManagerService 的机制 0 综述下面是设置精确 alarm 的方法: 123456789101112public static void setGlobalNoticeDialogForceShowAlarm(Context context) { Intent intent = new Intent( ...
阅读更多
Permission第 3 篇 - checkPermissions 权限检查
[toc] 0 综述基于 Android 7.1.1 源码,分析系统的权限管理机制! 下面来看下系统中的 check permission 相关的接口: 1 Context 权限检查接口 - ContextImpl在应用中申请权限离不开 Context,Context 中暴露了多个检查权限相关的接口,具体的实现是在 ContextImpl 中! 1.1 checkCallingPermission ...
阅读更多
AlarmManager第 1 篇 - AlarmManagerService启动
基于 Android7.1.1 源码,分析 AlarmManagerService 的启动流程,这里我们重点关注和分析 java 层的逻辑实现! 123456789private void startOtherServices() { ... ... ... traceBeginAndSlog("StartAlarmManagerService"); ...
阅读更多
Permission第 2 篇 - PackageManager 对权限的初始化流程
[toc] 基于 Android7.1.1 源码,分析权限管理机制 0 综述在分析 PackageManagerService 的时候,我们详细的分析了 PackageManagerService 的启动流程,包括安装信息解析,应用程序包的解析等等! 其中,涉及到了对系统中权限的解析和配置,但是由于 PackageManagerService 的启动流程过于负责,所以在 PackageManag ...
阅读更多
Permission第 1 篇 - Permission 配置和解析
[toc] 0 综述基于 Android 7.1.1,分析权限管理相关知识,下面关于 xml 配置的内容来自于 Android developer 文档,在加上我自身的理解! 1 Application 的权限配置和解析1.1 权限配置1.1.1 manifest 配置和 Application 权限相关配置相关的内容主要有 2 部分: 一个是在 <manifest></man ...
阅读更多