在開發Android應用的時候有時須要監聽Settings下面的值,這個時候能夠經過ContentObserver 來監聽值的變化。 java
1.首先自定義一個類繼承ContentObserver。在onChange()方法裏面再次去獲取Settings的值。 git
class SettingsValueChangeContentObserver extends ContentObserver{ public SettingsValueChangeContentObserver() { super(new Handler()); } @Override public void onChange(boolean selfChange) { super.onChange(selfChange); Toast.makeText(MainActivity.this, Settings.System.getString( getContentResolver(), SAVE_NAME), Toast.LENGTH_SHORT).show(); } }2.註冊監聽.
mContentOb=new SettingsValueChangeContentObserver(); getContentResolver().registerContentObserver(Settings.System.getUriFor(SAVE_NAME), true, mContentOb);//註冊監聽
3.當應用退出的時候取消監聽。 ide
@Override protected void onStop() { super.onStop(); getContentResolver().unregisterContentObserver(mContentOb); }PS:項目地址 http://git.oschina.net/fengcunhan/Android_example.git