Вы уверены, что он не вызывается или это просто случай, когда он не выполняет то, что вы ожидаете? Я могу ошибаться, но код не должен выглядеть так ...
if (key.equals("callsLogChk")) {
if (!started) { // Check NOT started ???
startCallsService();
bindCallsService();
}
else { // The 'else' should compliment the check for !started ???
releaseCallsService();
stopCallsService();
}
}
Извините, поскольку я не знаю ваш код, я могу быть совершенно не прав, но, поскольку вы его опубликовали, он мне не совсем подходит.
EDIT:
Кроме того, вы обязательно вызываете метод SharedPreferences.Editor.commit()
, когда вносите изменения в предпочтения?