Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
单独线程中的android ServiceConnection侦听器_Android_Multithreading_Android Service - Fatal编程技术网

单独线程中的android ServiceConnection侦听器

单独线程中的android ServiceConnection侦听器,android,multithreading,android-service,Android,Multithreading,Android Service,我试图在一个单独的线程中实现ServiceConnection对象,但是,不确定如何保持线程的活动状态,以便相应地进行OnServiceConnectiond回调 下面是代码片段: Thread t = new Thread(new Runnable() { public void run() { ServiceConnection con = new ServiceConnection() { public void onServiceConnected(Compone

我试图在一个单独的线程中实现ServiceConnection对象,但是,不确定如何保持线程的活动状态,以便相应地进行OnServiceConnectiond回调

下面是代码片段:

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永远不会以这种方式被调用。知道如何解决这个问题吗?

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


您试图解决的问题是什么?

我试图使服务连接同步。我明白了。嗯,你不能那样做。不幸的是,这些回调发生在主线程上,但事实就是这样。