Präferenz Auf Change Listener

Habe ich gelesen, diesen hilfreichen Beitrag :

SharedPreferences.onSharedPreferenceChangeListener nicht aufgerufen wird, konsequent

Aber ich habe kein Glück. Ich bin versucht, zu erstellen eine OnSharedPreferenceChangeListener läuft in einem service. Alles richtig umgesetzt wird, aber der Hörer wird nicht immer ausgelöst.

public MyServiceOne extends Service {

    public SharedPreferences mSharedPreferences;

    //Listener defined by anonymous inner class.
    public OnSharedPreferenceChangeListener mListener = new OnSharedPreferenceChangeListener() {        

        @Override
        public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
            Log.d("debug", "A preference has been changed");            
        }
    };

    @Override
    public void onCreate() {            
        mSharedPreferences = getSharedPreferences(MySharedPreferences.NAME, Context.MODE_PRIVATE);
        mSharedPreferences.registerOnSharedPreferenceChangeListener(mListener);
    }

    @Override   
    public void onDestroy() {
        super.onDestroy();
        mSharedPreferences.unregisterOnSharedPreferenceChangeListener(mListener);
    }
}

UPDATE

Dem problem ergibt sich aus einer Tatsache, die ich nicht erwähnt habe. Ich bin mit zwei von Dienstleistungen und beim gemeinsamen Vorliebe Veränderungen in MyService2 nichts ausgelöst. Im manifest definiere ich die Dienste in verschiedenen Prozessen ausgeführt werden. Gibt es eine Möglichkeit, diese Arbeit zu machen?

InformationsquelleAutor jjNford | 2011-11-01
Schreibe einen Kommentar