android ServiceConnection监听器在一个单独的线程中

时间:2013-11-05 02:47:01

标签: android multithreading android-service

我正在尝试在单独的线程中实现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()永远不会以这种方式调用。知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

无论您在何处或如何创建ServiceConnection对象,都会在主线程上调用ServiceConnection的方法。你无能为力改变这种行为。

您要解决的问题是什么?