Tôi đang đăng ký một trình lắng nghe thay đổi tùy chọn như thế này (trong onCreate()
hoạt động chính của tôi):
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.registerOnSharedPreferenceChangeListener(
new SharedPreferences.OnSharedPreferenceChangeListener() {
public void onSharedPreferenceChanged(
SharedPreferences prefs, String key) {
System.out.println(key);
}
});
Vấn đề là, người nghe không phải lúc nào cũng được gọi. Nó hoạt động trong vài lần đầu tiên tùy chọn được thay đổi, và sau đó nó không còn được gọi cho đến khi tôi gỡ cài đặt và cài đặt lại ứng dụng. Không có số lượng khởi động lại ứng dụng dường như để sửa nó.
Tôi tìm thấy một chủ đề danh sách gửi thư báo cáo vấn đề tương tự, nhưng không ai thực sự trả lời anh ta. Tôi đang làm gì sai?