監聽Settings.Global中的配置信息的變化

監聽Settings.Global中的配置信息的變化

自定義一個類繼承ContentObserver

在onChange()方法中去獲取想要監聽的數據信息

 private class ModelObserver extends ContentObserver {
        public ModelObserver(Handler handler) {
            super(handler);
        }
        @Override
        public void onChange(boolean selfChange) {
            //   onModelChanged();
           //獲取Settings.Global中的值,進行相應的操作
        }

註冊監聽

通過registerContentObserver(註冊監聽者)配合URI來實現監聽

ModelObserver mModelObserver=new ModelObserver(new Handler());
getActivity.getContentResolver.registerContentObserver(
                    Settings.Global.getUriFor(xxxxx), false, this);

registerContentObserver(Uri uri, boolean notifyForDescendents, ContentObserver observer)方法中各個參數的含義分別爲:
uri 爲需要監聽的Uri
notifyForDescendents有兩種取值,爲false是精確匹配,只匹配該Uri;爲true是可以同時匹配其派生的Uri## 標題

取消監聽

在監聽結束的時候需要取消監聽
調用getActivity.getContentResolver.unregisterContentObserver(this)方法取消監聽

getActivity.getContentResolver.unregisterContentObserver(this);

本文僅記錄開發過程遇到的問題及解決方案,歡迎大家批評與指正!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章