我要做的是:
我有该服务的事件监听器回调并作为Binder返回,但我不确定aidl是否可以处理事件监听器。如果没有,有没有其他方法来实现这一目标? 提前谢谢!
答案 0 :(得分:0)
最后我采取了另一种选择:
我创建了一个同步消息缓冲区,其编写器是套接字线程中的回调,并且读取器在aidl文件中公开。
虽然这是一个多余的,但这是我现在能找到实现目标的唯一方法。
public class CBuffer {
private List<String> list =
new ArrayList<String>();
public synchronized void add(String cmd) {
list.add(cmd);
notifyAll();
}
public synchronized String get()
throws InterruptedException
{
while (list.size() == 0)
wait();
return list.remove(0);
}
}