android uid systemui,SystemUI-功能介绍
1. SystemUI与普通应用的区别
SystemUI
普通应用
UID
1000
应用安装时分配,>10000
编译方式
基于Android源码编译
基于Android SDK编译
安装方式
adb push SystemUI.apk /system/priv-app/SystemUI
adb install App.apk
安装位置
/system/priv-app/
/data/app/
数据位置
/data/user_de/
/data/data/
启动方式
系统启动
点击桌面应用图标
SystemUI 的 UID 是 SYSTEM_UID,值为1000,是系统核心应用,能够使用系统级权限,能够访问系统隐藏的API(@hide方法)和internal资源,在开机时由 SystemServer 启动 SystemUIService 实现应用启动。
2. 启动流程
SystemUIService 继承于 Service,由 SystemServer 中启动,方法调用顺序如下:
main()方法
public static void main(String[] args) {
new SystemServer().run();
}
run()方法
// Start services.
try {
t.traceBegin("StartServices");
startBootstrapServices(t);
startCoreServices(t);
startOtherServices(t);
} catch (Throwable ex) {
Slog.e("System", "******************************************");
Slog.e("System", "************ Failure starting system services", ex);
throw ex;
} finally {
t.traceEnd(); // StartServices
}
startOtherServices()方法
t.traceBegin("StartSystemUI");
try {
startSystemUi(context, windowManagerF);
} catch (Throwable e) {
reportWtf("starting System UI", e);
}
t.traceEnd();
startSystemUi()方法
private static void startSystemUi(Context context, WindowManagerService windowManager) {
PackageManagerInternal pm = LocalServices.getService(PackageManagerInternal.class);
Intent intent = new Intent();
intent.setComponent(pm.getSystemUiServiceComponent());
intent.addFlags(Intent.FLAG_DEBUG_TRIAGED_MISSING);
//Slog.d(TAG, "Starting service: " + intent);
context.startServiceAsUser(intent, UserHandle.SYSTEM);
windowManager.onSystemUiStarted();
}
在 SystemUIService 的 onCreate() 方法中会调用 SystemUIApplication 的 startServicesIfNeeded() 方法,完成对 SystemUI 各组件的初始化:
// Start all of SystemUI
((SystemUIApplication) getApplication()).startServicesIfNeeded();
startServicesIfNeeded()方法
public void startServicesIfNeeded() {
String[] names = SystemUIFactory.getInstance().getSystemUIServiceComponents(getResources());
startServicesIfNeeded(/* metricsPrefix= */ "StartServices", names);
}
getSystemUIServiceComponents()方法
/** Returns the list of system UI components that should be started. */
public String[] getSystemUIServiceComponents(Resources resources) {
return resources.getStringArray(R.array.config_systemUIServiceComponents);
}
3. 组件功能介绍
config_systemUIServiceComponents
组件
功能
NotificationChannels
创建SystemUI的通知Channel
KeyguardViewMediator
Recents
最近任务
VolumeUI
音量面板
Divider
分屏
StatusBar
顶部状态栏+快捷开关+通知面板+底部导航键
StorageNotification
存储设备相关通知
PowerUI
低电量提醒
RingtonePlayer
播放铃声(包括通知铃声)
KeyboardUI
键盘
PipUI
画中画
ShortcutKeyDispatcher
GarbageMonitor$Service
定期检查SystemUI堆内存并报告
LatencyTester
在DEBUGGABLE版本运行,用于测试系统中的延迟
GlobalActionsComponent
关机菜单
ScreenDecorations
手机屏幕屏切圆角,模拟刘海屏
AuthController
显示生物识别UI(指纹认证,人脸认证)
SliceBroadcastRelayHandler
SizeCompatModeActivityController
InstantAppNotifier
显示Instant Apps(用户设备不需要安装的应用)的通知
ThemeOverlayController
WindowMagnification
管理窗口放大镜
SystemActions
ToastUI
在SystemUI进程显示其他应用的Toast
android uid systemui,SystemUI-功能介绍相关推荐
- Android 系统(58)---Android 系统 UI - SystemUI之功能介绍和UI布局实现
Android 系统 UI - SystemUI之功能介绍和UI布局实现 前言 Android ROM开发过程中,难免会涉及到对SystemUI的修改,之前做过一些这方面的工作,现在整理下,准备按照如 ...
- Android 系统 UI - SystemUI之功能介绍和UI布局实现
前言 Android ROM开发过程中,难免会涉及到对SystemUI的修改,之前做过一些这方面的工作,现在整理下,准备按照如下章节介绍SystemUI.借此对SystemUI做下整体性回顾. -S ...
- android 7.0 新功能介绍(Nougat)
多窗口支持 在 Android 7.0 中,我们为该平台引入了一个新的而且非常需要的多任务处理功能 - 多窗口支持. 现在,用户可以一次在屏幕上打开两个应用. 在运行 Android 7.0 的手机和 ...
- android小米手机拍照功能介绍,小米手机使用手册
小米手机使用手册 1. 设置默认输入法 默认的输入法是英语的.也就是只能输入英文字母.但是往往我们用到汉字的比较多.所以,这里就教大家怎么设置默认输入法. 屏幕主页-设置-全部设置-系统-语言和输入法 ...
- Android音乐播放器-- 功能介绍
目前,市面上的播放器功能越来越强大,相对的,操作也越来越复杂,所以就萌发了做一个操作简单的音乐播放器的想法,目前实现的功能包括如下几点 : 1. 音乐列表 2. 专辑分类列表 3. 歌手分类列表 ...
- 三星android功能怎么用,三星GALAXY S II升级Android 4.0新功能介绍及使用技巧
本文导航第1页:(一) 第3页:(三) 第2页:(二) 大家的三星GALAXY SII 升级Android 4.0了吗?在升级ICS (Ice Cream Sandwich) 冰淇淋三明治系统之后,有 ...
- android小米手机拍照功能介绍,小米9相机使用技巧
小米9作为小米首款后置三摄的手机,搭载4800万超广角AI三摄,采用索尼IMX586 4800万传感器,硬件规格十分强悍.这么好的硬件配置,要是不掌握一些拍摄技巧就浪费了,下面给大家介绍小米9相机使用 ...
- android各个版本及功能介绍,Android各个版本的介绍
前言:笔者在面试的过程中,已经被问过不下三次,因此在这里分析一下.可能不够详细,请各位大佬多多包涵. 一.版本对应的API 级别 API 级别:是对 Android 平台版本提供的框架 API 修订版 ...
- android 7相机拍照功能介绍,镜头配备及拍照功能介绍_华为 Mate 7_手机Android频道-中关村在线...
接下来是拍照方面,我们首先来看看两款产品在摄像头上的硬件配备情况.华为Ascend Mate7后置一颗1300万像素的Sony第四代BSI堆栈式摄像头(IMX214.F2.0超大光圈.28mm超大广角 ...
- android 华为手机拍照功能介绍,一款可以让普通人拍出摄影效果的手机 华为 P30 拍照专项评测...
一年过去了,无论是去年的华为 P20还是今年的华为 P30,网友当年调侃说的"在拍照方面能打败华为的恐怕只有华为了"这句话,似乎也随着华为 P30的发布而成真了. 华为 P30系列 ...
最新文章
- windows10下,from skimage import morphology 报错的解决办法
- 如何获取字符串的最后一个字符?
- [读书笔记]C#学习笔记三: C#类型详解..
- CVPR 2020 | 反传统的无监督人脸旋转方案:旋转-渲染
- DeepMedic —— 一种经典的医学图像分割的3D CNN框架
- dell笔记本指示灯闪烁_带你认识电脑电源状态指示灯不同亮度不同含义
- s3c44b0x开发板之BOOT ROM配置
- [摘自MSDN] ASP.Net2.0学习 [1] 母版页 2 : 创建和使用 ASP.NET 母版页
- 联通研究院处长王志军:Hadoop在电信业大数据的应用
- 加拿大计算机语言学,加拿大语言学专业排名
- php扩展包安装了为啥没加载,已安装PHP扩展但未加载
- TokenInsight:反映区块链行业整体表现的TI指数较昨日同期下跌0.25%
- Xilinx产品与及开发工具2017
- 网页版 Nginx 配置文件生成器发布,在线一健生成神器!不用愁了!
- Python常见面试题总结
- sqlserver 自定义日期函数(MMdd)
- UCT树用于四子棋对抗实验
- 【论文阅读】A Survey of Incentive Mechanism Design for Federated Learning 联邦学习激励机制设计综述
- 语法分析程序--编译原理
- springSecurity 登陆失败前台显示账号密码登录错误