Я не очень хорошо говорю по-английски, но я бы попытался объяснить мою проблему хорошим способом.
Итак, проблема в том, что:1) у меня есть местный сервис2) Я запускаю его, а затем привязываюсь к нему.3) Проблема появляется, когда я собираюсь закрыть эту службу. onServiceDisconnected метод из моей реализации класса ServiceConnection никогда не вызывается.Если я закрою его вручную (из настроек), или с помощью unbindService, или с помощью stopService, или с помощью комбинации unbindService и stopService - onServiceDisconnected по-прежнему не будет вызываться.Что я делаю не так?
Краткий код ниже:
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);
}
Я тестирую этот код под эмулятором Android 2.2