ServiceManager添加的系统服务汇总

SystemServer.java

ServiceManager.addService("sec_key_att_app_id_provider", new KeyAttestationApplicationIdProviderService(context));

ServiceManager.addService("scheduling_policy", new SchedulingPolicyService());

telephonyRegistry = new TelephonyRegistry(context);

ServiceManager.addService("telephony.registry", telephonyRegistry);

vibrator = new VibratorService(context);

ServiceManager.addService("vibrator", vibrator);

consumerIr = new ConsumerIrService(context);

ServiceManager.addService(Context.CONSUMER_IR_SERVICE, consumerIr);

inputManager = new InputManagerService(context);

ServiceManager.addService(Context.INPUT_SERVICE, inputManager, /* allowIsolated= */ false, DUMP_FLAG_PRIORITY_CRITICAL);

wm = WindowManagerService.main(context, inputManager, !mFirstBoot, mOnlyCore, new PhoneWindowManager(), mActivityManagerService.mActivityTaskManager);

ServiceManager.addService(Context.WINDOW_SERVICE, wm, /* allowIsolated= */ false, DUMP_FLAG_PRIORITY_CRITICAL | DUMP_FLAG_PROTO);

statusBar = new StatusBarManagerService(context, wm);

ServiceManager.addService(Context.STATUS_BAR_SERVICE, statusBar);

networkManagement = NetworkManagementService.create(context);

ServiceManager.addService(Context.NETWORKMANAGEMENT_SERVICE, networkManagement);

ipSecService = IpSecService.create(context);

ServiceManager.addService(Context.IPSEC_SERVICE, ipSecService);

networkStats = NetworkStatsService.create(context, networkManagement);

ServiceManager.addService(Context.NETWORK_STATS_SERVICE, networkStats);

networkPolicy = new NetworkPolicyManagerService(context, mActivityManagerService, networkManagement);

ServiceManager.addService(Context.NETWORK_POLICY_SERVICE, networkPolicy);

connectivity = new ConnectivityService(context, networkManagement, networkStats, networkPolicy);

ServiceManager.addService(Context.CONNECTIVITY_SERVICE, connectivity, /* allowIsolated= */ false, DUMP_FLAG_PRIORITY_HIGH | DUMP_FLAG_PRIORITY_NORMAL);

wigigP2pService = ctor.newInstance(context);

ServiceManager.addService("wigigp2p", (IBinder) wigigP2pService);

Class wigigClass = wigigClassLoader.loadClass("com.qualcomm.qti.server.wigig.WigigService");
ctor = wigigClass.getConstructor(Context.class);
wigigService = ctor.newInstance(context);

ServiceManager.addService("wigig", (IBinder) wigigService);

serviceDiscovery = NsdService.create(context);

ServiceManager.addService(Context.NSD_SERVICE, serviceDiscovery);

ServiceManager.addService(Context.SYSTEM_UPDATE_SERVICE, new SystemUpdateManagerService(context));

ServiceManager.addService(Context.UPDATE_LOCK_SERVICE, new UpdateLockService(context));

location = new LocationManagerService(context);

ServiceManager.addService(Context.LOCATION_SERVICE, location);

countryDetector = new CountryDetectorService(context);

ServiceManager.addService(Context.COUNTRY_DETECTOR, countryDetector);

serial = new SerialService(context);

ServiceManager.addService(Context.SERIAL_SERVICE, serial);

hardwarePropertiesService = new HardwarePropertiesManagerService(context);

ServiceManager.addService(Context.HARDWARE_PROPERTIES_SERVICE, hardwarePropertiesService);

ServiceManager.addService("diskstats", new DiskStatsService(context));

ServiceManager.addService("runtime", new RuntimeService(context));

ServiceManager.addService("network_time_update_service", networkTimeUpdater);

ServiceManager.addService(GraphicsStatsService.GRAPHICS_STATS_SERVICE, new GraphicsStatsService(context));

ServiceManager.addService(CoverageService.COVERAGE_SERVICE, new CoverageService());

mediaRouter = new MediaRouterService(context);

ServiceManager.addService(Context.MEDIA_ROUTER_SERVICE, mediaRouter);

EuiccCardController.java

ServiceManager.addService("euicc_card_controller", this);

EuiccController.java

ServiceManager.addService("econtroller", this);

SmsController.java

ServiceManager.addService("isms", this);

UiccPhoneBookController.java

ServiceManager.addService("simphonebook", this);

PhoneSubInfoController.java

ServiceManager.addService("iphonesubinfo", this);

SubscriptionC

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ServiceManager 是 Android 系统中的一个系统服务,它负责管理系统中所有的服务。它使用 Binder 机制来实现跨进程的服务管理。在 Android 中,所有的服务都是通过 ServiceManager 来进行注册和获取的,这也就是为什么我们可以在不同的应用程序中获取同一个服务的原因。 ServiceManager 的源码位于 frameworks/native/cmds/servicemanager 中,它主要由以下几个文件组成: - ServiceManager.cpp:ServiceManager 的主要实现文件,包含了 ServiceManager 类的定义和实现。 - BpServiceManager.cpp:BpServiceManagerServiceManager 的客户端代理类,它通过 Binder 机制与 ServiceManager 进行通信。 - IServiceManager.cpp:IServiceManagerServiceManager 的接口文件,定义了与 ServiceManager 相关的所有方法。 - IServiceManager.h:IServiceManager 的头文件,定义了 IServiceManager 接口类的定义。 - ServiceManager.h:ServiceManager 的头文件,包含了 ServiceManager 类的定义和一些宏定义。 ServiceManager 的主要实现是在 ServiceManager.cpp 文件中的 ServiceManager 类中。ServiceManager 类主要实现了 IServiceManager 接口类中的所有方法,包括: - addService:用于添加一个服务ServiceManager 中,并将服务的名字和服务的 Binder 对象映射起来。 - getService:用于获取一个已注册的服务。 - checkService:用于检查一个服务是否已经注册。 - listServices:用于列出所有已经注册的服务ServiceManager 的初始化是在 init_service_manager 函数中完成的,它主要完成了以下几个步骤: - 创建一个 ServiceManager 对象,并将其注册为系统服务。 - 注册系统服务,包括 Package Manager Service、Activity Manager Service、Window Manager Service 等。 - 注册其他系统服务。 总之,ServiceManager 是 Android 系统中非常重要的一个系统服务,它是整个系统中所有服务的管理者。通过 ServiceManager,我们可以方便地获取到系统中已经注册的服务
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值