当前位置: 代码迷 >> 综合 >> Android监听SettingsProvider的数据变化
  详细解决方案

Android监听SettingsProvider的数据变化

热度:19   发布时间:2024-03-06 12:57:26.0

在Android应用和framework层面添加监听器去监听SettingsProvider的数据变化。

 

监听类:SettingsObserver
    class SettingsObserver extends ContentObserver {
        SettingsObserver(Handler handler) {
            super(handler);
        }

        void observe() {
            // Observe all users' changes
            ContentResolver resolver = mContext.getContentResolver();
            resolver.registerContentObserver(Settings.System.getUriFor(
                    Settings.System.END_BUTTON_BEHAVIOR), false, this,
                    UserHandle.USER_ALL);
            resolver.registerContentObserver(Settings.Secure.getUriFor(
                    Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR), false, this,
                    UserHandle.USER_ALL);


            updateSettings();
        }

        @Override public void onChange(boolean selfChange) {
            updateSettings();
        }
    }
 

创建监听对象,调用observe()开始监听:

        mSettingsObserver = new SettingsObserver(mHandler);
        mSettingsObserver.observe();

 

停止监听:

        ContentResolver resolver = mContext.getContentResolver();
        resolver.unregisterContentObserver(mSettingsObserver);

 

 

  相关解决方案