我正在从 IntentService中调用AIDL服务。一旦完成对AIDL服务的绑定,IntentService必须将参数传递给AIDL服务以供执行。
现在由于异步绑定到AIDL,我希望IntentService中的代码在将参数传递给AIDL服务之前将其等待。
伪代码:
第1步:绑定到AIDL服务
第2步:将参数传递给AIDL服务
换句话说,甚至在STEP 1完成之前就已到达STEP2,对AIDL的coz绑定是异步的。然后我得到例外。
在STEP 2执行之前,如何等待STEP 1完成?
答案 0 :(得分:0)
您可以使用ServiceConnection.onServiceConnected()
来监控与服务的连接。一旦绑定完成,您将在onServiceConnected
以下是Android developers guide
中的文档摘要客户端可以通过调用bindService()绑定到服务。当它 它必须提供ServiceConnection的实现 监视与服务的连接。 bindService()方法 立即返回没有值,但是当Android系统 它调用客户端和服务之间的连接 ServiceConnection上的onServiceConnected(),用于传递IBinder 客户端可以用来与服务进行通信。