studio - java android service
Android, servicio de desvinculación y problema onServiceDisconnected (2)
Utilicé Context.BIND_AUTO_CREATE
en bindService. Tengo el mismo problema después de aplicar su trabajo perfecto para mí.
bindService(new Intent(this,XMPPService.class),mConnection, Context.BIND_AUTO_CREATE);
No soy bueno en inglés, pero trataría de explicar mi problema de buena manera.
Entonces, el problema es:
1) Tengo un servicio local.
2) Lo empiezo y luego me encuadro. 3) Aparece un problema cuando estoy a punto de cerrar ese servicio. El método onServiceDisconnected de mi implementación de la clase ServiceConnection nunca se llama. Si lo cierro manualmente (desde la configuración), o por unbindService, o por stopService, o por combinación de unbindService y stopService - onServiceDisconnected aún no se puede llamar. ¿Qué estoy haciendo mal?
El código corto está abajo:
protected ServiceConnection mServerConn = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder binder) {
Log.d(LOG_TAG, "onServiceConnected");
}
@Override
public void onServiceDisconnected(ComponentName name) {
Log.d(LOG_TAG, "onServiceDisconnected");
}
}
public void start() {
// mContext is defined upper in code, I think it is not necessary to explain what is it
mContext.bindService(i, mServerConn, Context.BIND_AUTO_CREATE);
mContext.startService(i);
}
public void stop() {
mContext.stopService(new Intent(mContext, ServiceRemote.class));
mContext.unbindService(mServerConn);
}
Estoy probando este código bajo el emulador de Android 2.2
onServiceDisconnected solo se llama en situaciones extremas (se estrelló / mató).
que es muy poco probable que ocurra para un servicio local, ya que todos los componentes de su aplicación normalmente se ejecutan en el mismo proceso ... lo que significa que, a menos que intencionalmente desate o destruya el servicio, debe permanecer conectado o morir con el componente que lo usa.