IntentService y el patrón de encuadernación

Tengo IntentService que debe utilizar la referencia de otro servicio vía enlace:

public class BaseIntentService extends IntentService implements ServiceConnection { protected NetworkApi network; public BaseIntentService() { super("BaseIntentService"); } @Override public void onServiceConnected(ComponentName name, IBinder service) { network = ((NetworkApiBinder) service).getApi(); // never be invoked } @Override public void onServiceDisconnected(ComponentName name) { } @Override public void onCreate() { super.onCreate(); bindService(new Intent(this, NetworkApi.impl), this, BIND_AUTO_CREATE); } @Override public void onDestroy() { super.onDestroy(); unbindService(this); } @Override protected void onHandleIntent(Intent intent) { // network always null!!! } } 

Pero cuando estoy usando un enlace como este onServiceConnected nunca se invocará. Sé que IntentService no está diseñado para el patrón de vinculación, pero puede ser que hay una solución común para tales tareas?

¡Gracias!

Pero cuando estoy usando un enlace como este onServiceConnected nunca se invoca

Esto se debe a que su IntentService se destruye antes de que se IntentService la solicitud de vinculación. Un IntentService se destruye automáticamente cuando onHandleIntent() completa todos los comandos pendientes.

pero puede ser que haya una solución común para tales tareas

No tiene dos servicios. Deshágase de IntentService y mueva su lógica al otro servicio.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.