2011-11-01 103 views

回答

4

是的,單個活動可以綁定多個服務。

+0

如何做到這一點的伴侶? –

0

這是表示綁定的ServiceConnection。爲了綁定多個服務,您只需要多個實例ServiceConnection

例如,你想綁定完全相同的服務極不可能的情況下,MyService,十次,這樣的代碼可能工作:

private final ServiceConnection connections[] = new ServiceConnection[10]; 
private final MyService services[] = new MyService[10]; 

private void connect() { 
    Context ctxt = getApplicationContext(); 
    for (int i = 0; i < connections.length; i++) { 
     connections[i] = new ServiceConnection() { 
      private final int idx = i; 

      @Override 
      public void onServiceConnected(ComponentName name, IBinder binder) { 
       services[idx] = ((LocalBinder) binder).getService(); 
      } 

      @Override 
      public void onServiceDisconnected(ComponentName name) { 
       services[idx] = null; 
      } 
     }; 
     ctxt.bindService(getIntent(), connections[i], Context.BIND_AUTO_CREATE); 
    } 
} 
+0

你將如何解除特定的ServiceConnection?我有多個ServiceConnections綁定到Activity,我想解除綁定特定的一個,但找不到方法? – FARID

+0

Context.unbindService –

相關問題