我想觀看系統設置並在其值發生變化時收到通知。光標類有一個setNotificationUri方法聽起來不錯,但它不能正常工作和編碼,也覺得很奇怪......那是我所做的:監視Android系統設置值
// Create a content resolver and add a listener
ContentResolver resolver = getContentResolver();
resolver.addStatusChangeListener(ContentResolver.SYNC_OBSERVER_TYPE_SETTINGS | ContentResolver.SYNC_OBSERVER_TYPE_PENDING | ContentResolver.SYNC_OBSERVER_TYPE_ACTIVE, new MyObserver());
// I somehow need to get an instance of Cursor to use setNotificationUri in the next step...
Cursor cursor2 = resolver.query(Settings.System.CONTENT_URI, null, null, null, null);
// For testing purposes monitor all system settings
cursor2.setNotificationUri(resolver, Settings.System.CONTENT_URI);
監聽器:
public class MyObserver implements SyncStatusObserver {
public void onStatusChanged(int which) {
Log.d("TEST", "status changed, which = " + which);
}
}
好,顯然這個監聽器從來沒有被調用,我在logcat中找不到指定TEST標籤的條目):(爲了測試,我在android設置菜單中手動將亮度設置從手動更改爲自動)。任何暗示我做錯了什麼?任何其他更好的方式來監視Android系統設置?
感謝您的任何提示!