監聽Settings的值的變化

    在開發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
相關文章
相關標籤/搜索