Android, служба отмены привязки и проблема onServiceDisconnected

Я плохо говорю по-английски, но я бы попытался объяснить свою проблему в хорошей форме.

Итак, проблема:
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

17
задан UAS 13 March 2011 в 22:39
поделиться