onSharedPreferenceChanged não disparado se ocorrer uma alteração em atividade separada?

Eu implementeionSharedPreferenceChanged na minha atividade principal.

Se eu alterar as preferências na atividade principal, meu evento será disparado.

Se eu alterar as preferências na tela de preferências (PreferenceActivity) meu evento NÃO é acionado quando as preferências são alteradas (porque é uma atividade separada e uma referência separada para sharedPreferences?)

Alguém tem uma recomendação de como devo superar essa situação?

Obrigado!

EDIT1: Tentei adicionar o manipulador de eventos diretamente na minha atividade de preferência, mas ele nunca é acionado. O método a seguir é chamado durante onCreate da minha atividade de preferência. Quando altero valores, ela nunca imprime a mensagem (msg() é um invólucro paraLog.d)

private void registerChangeListener () {
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);

    sp.registerOnSharedPreferenceChangeListener(new OnSharedPreferenceChangeListener () {
        public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
            msg (" ***** Shared Preference Update ***** ");
            Intent i = new Intent();
            i.putExtra("KEY", key);
            i.setAction("com.gtosoft.dash.settingschanged");

            sendBroadcast(i);

            // TODO: fire off the event
        }
    });
}

questionAnswers(9)

yourAnswerToTheQuestion