Framework层SystemService类的详细介绍

SystemService是Android系统服务的基础类,它定义了系统服务的生命周期方法,如onStart()和onBootPhase(intphase)。在onBootPhase中,服务会根据系统的启动阶段执行相应工作,如等待显示准备、锁设置就绪等。服务可以通过publishBinderService公开,以便其他组件访问。此外,还可以使用publishLocalService和getLocalService管理本地服务。isSafeMode()方法则用于检查是否处于安全模式。

framework层中系统服务要么直接extend SystemService,要么创建静态内部类Lifcycle extends SystemService,接下来详细介绍下SystemService类,千万不要和SystemServer类搞混了。

SystemService是frameworks/base/services/core/java/com/android/server/SystemService.java。


目录

一、SystemService概述

二、成员函数

1. onStart()

2. onBootPhase(int phase)

3. publishBinderService(String name, IBinder service)

4. getBinderService(String name)

5. publishLocalService(Class type, T service)

6. getLocalService(Class type)

7. boolean isSafeMode()


一、SystemService概述

它是运行在系统进程中的service的基类,根据需要override和implement生命周期事件回调方法。

SystemService的生命周期方法如下:下边的方法都是由system service的主线程调用。

1.构造函数

用来提供初始化系统service;

2.onStart()

调用该方法启动service。在onStart()中应该调用publicBinderService(String,IBinder),把该service公开,这样其他service或者apps可以访问到它。

3.onBootPhase(int)

在收到PHASE_BOOT_COMPLETED的boot phase之前,该方法被调用的次数和引导阶段的次数一样多。每个阶段都是执行特定work,像获取可选的服务依赖,等待查看SafeMode是否使能,或者注册一个该服务之后启动的service。

Android 12支持的Boot_Phase包含7种,分别为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值