7

アクティビティに登録registerOnSharedPreferenceChangeListenerしました。別のプロセスで実行されている内部サービスでSharedPreferences保存されたデータを変更すると、呼び出されません!SharedPreferencesonSharedPreferenceChanged

Androidを呼び出すにはどうすればよいonSharedPreferenceChangedですか?

4

1 に答える 1

23

おそらく、gcによって収集されたガベージです。私は以前にこの問題に直面したことがあります。リスナーへのハードリファレンスを保持するグローバル変数を作成します。

  OnSharedPreferenceChangeListener listener = new SharedPreferences.OnSharedPreferenceChangeListener() {
      public void onSharedPreferenceChanged(SharedPreferences prefs, String key) {
        // Implementation
      }
    };

SharedPreferences.onSharedPreferenceChangeListenerが一貫して呼び出されていないという答えは、それを最もよく説明しています

于 2012-04-14T04:21:44.560 に答える