我有一个ContentObserver
,我在android 4.x上测试过,它运行良好。但是当我在android 2.x上尝试它时它不起作用。
mContentObserver = new ContentObserver(new Handler()) {
@Override
public void onChange(boolean selfChange, Uri uri) {
if (CardDAO.MANAGEMENT_URI.equals(uri) || SubjectDAO.MANAGEMENT_URI.equals(uri)
|| LearningProgressDAO.MANAGEMENT_URI.equals(uri) || ActivationDAO.MANAGEMENT_URI.equals(uri)) {
onContentChanged();
}
}
};
答案 0 :(得分:0)
似乎android 2.x中没有这样的方法public void onChange(boolean selfChange, Uri uri)
。解决方案是使用旧API public void onChange(boolean selfChange)
HERE是两个版本之间的区别
2.x的:
private final class More ...NotificationRunnable implements Runnable {
...................
public void run() {
ContentObserver.this.onChange(mSelf);
}
}
4.x的:
private final class NotificationRunnable implements Runnable {
................................
@Override
public void run() {
ContentObserver.this.onChange(mSelfChange, mUri, mUserId);
}
}