【发布时间】:2021-05-18 06:53:11
【问题描述】:
在框架级别有一个服务,它们仅从框架绑定和启动该服务。我需要访问该服务并从客户端(Android)端使用这些 API。我已经浏览了大多数示例,这些示例具有用于从客户端创建/启动服务连接的代码,并且每当使用 IBinder 在该连接的侦听器中连接服务时,我们都可以访问这些 API。 我试过了,比如在客户端添加具有相同包结构的aidl文件并添加以下代码。
val DevManager =applicationContext.getSystemService("servicename")
val clazz = Class.forName(DevManager.javaClass.name)
val method = DevManager.javaClass.getDeclaredMethod(
"getIDevManager",
Context::class.java
)
method.isAccessible = true
val DevService: IDevManager =
method.invoke(DevManager) as IDevManager
var status = DevManager.devStatus
我们得到 NoSuchMethodException。 请建议我们如何实现这一点,在此先感谢。
【问题讨论】:
标签: android frameworks aidl