我希望能够观察系统设置并在其值改变时得到通知。Cursor类有一个setNotificationUri方法听起来很不错,但它不起作用,编写它也感觉很奇怪... 这是我做的事情:
显然,监听器从未被调用,我在logcat中找不到具有指定TEST标签的条目 ): (为了测试,我手动将亮度设置从手动更改为自动,在Android设置菜单中)。我做错了什么?有没有其他更好的方法来监视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系统设置?
感谢任何提示!