Android监听SettingsProvider的数据变化

it2023-03-23  76

在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);

 

 

最新回复(0)