您可以在 Android AIDL 调用上指定超时吗?

Can you specify timeout on Android AIDL calls?

我了解到AIDLs提供同步IPC机制。当客户端绑定到 AIDL API 时,请求被同步。客户端等待响应。是否可以为 AIDL 调用指定超时?

不,调用默认是同步的。但是,您可以创建一个基于 AIDL 的异步接口。通常这是通过实现 "listener" 类型 AIDL 接口(也是异步)的 "client" 应用程序完成的:

MyListener.aidl:

oneway interface MyListener {
    void callback(int status);
}

MyService.aidl:

oneway interfave MyService {
    void doSomething(int arg, MyListener listener);
}

请注意,这是两个不同的文件。