我正在尝试在单独的线程中实现 ServiceConnection 对象,但是,不确定如何保持线程处于活动状态,因此 onServiceConnected() 回调可以相应地发生。
下面是代码片段:
Thread t = new Thread(new Runnable() {
public void run() {
ServiceConnection con = new ServiceConnection() {
public void onServiceConnected(ComponentName name, IBinder service) {
serviceObj = <AIDL Interface>.Stub.asInterface(service);
}
public void onServiceDisconnected(ComponentName name) {
serviceObj = null;
}
}
}).start();
问题是线程立即存在,显然 onServiceConnected() 永远不会以这种方式被调用。知道如何解决这个问题吗?