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 ...
阅读更多
AlarmManager第 1 篇 - AlarmManagerService启动|AndroidFramework源码分析AlarmManager闹钟管理|AlarmManager闹钟管理基于 Android7.1.1 源码,分析 AlarmManagerService 的启动流程,这里我们重点关注和分析 java 层的逻辑实现!
123456789private void startOtherServices() { ... ... ... traceBeginAndSlog("StartAlarmManagerService"); ...
阅读更多
Permission第 2 篇 - PackageManager 对权限的初始化流程|AndroidFramework源码分析Permission权限管理|Permission权限管理[toc]
基于 Android7.1.1 源码,分析权限管理机制
0 综述在分析 PackageManagerService 的时候,我们详细的分析了 PackageManagerService 的启动流程,包括安装信息解析,应用程序包的解析等等!
其中,涉及到了对系统中权限的解析和配置,但是由于 PackageManagerService 的启动流程过于负责,所以在 PackageManag ...
阅读更多
Permission第 1 篇 - Permission 配置和解析|AndroidFramework源码分析Permission权限管理|Permission权限管理[toc]
0 综述基于 Android 7.1.1,分析权限管理相关知识,下面关于 xml 配置的内容来自于 Android developer 文档,在加上我自身的理解!
1 Application 的权限配置和解析1.1 权限配置1.1.1 manifest 配置和 Application 权限相关配置相关的内容主要有 2 部分:
一个是在 <manifest></man ...
阅读更多