您可以在 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);
}
请注意,这是两个不同的文件。
我了解到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);
}
请注意,这是两个不同的文件。