首页 > 解决方案 > AOSP:与其他服务通信的自定义系统服务

问题描述

我正在调查 AOSP 的自定义系统服务,以通过网络为系统提供基本的远程控制(切换用户和启动应用程序)。它应该基于 Android 9。为了将来的可移植性,如果可能的话,我更愿意使用相当高级的 Java API。

在系统级别上,我对 Android 的了解不多。看来,至少部分功能可以通过与活动管理器进行通信来覆盖,这可能是一个很好的起点。

我的一些问题:

标签: androidandroid-source

解决方案


是否打算让不同的系统服务相互通信?

是的,这是有意的。

如果这是可能的,一个系统服务如何使用其他服务的功能?尽管所有服务都在同一个进程中,但这是否仍应通过 HIDL/binder?

HIDLover/dev/hwbinder用于 HAL 到系统服务的通信。系统服务之间的通信仍然可以通过AIDLover来完成/dev/binder。我认为您通常会使用一个服务Manager类,它无论如何都会抽象 Binder 的使用。这可能不是一个很好的简约示例,但您可以看看 Car 服务如何使用CarAudioService.javaTelephonyManager中的。

是否有现有的系统服务可以做类似的事情作为参考?

您可以查看packages/services中的附加服务。


推荐阅读