Android:内容观察者的"onChange()"方法被多次调用

Viv*_*vek 10 android contentobserver

我正在使用内容观察员content://sms.我正在将所有消息写入SD卡中的文本文件.但是onChange()内容观察器中的方法被多次调用,并且相同的消息被多次写入文本文件.怎么避免这个?另外我想知道内容观察者是否会放慢手机的速度.

gar*_*ax1 6

您需要覆盖deliverSelfNotifications()以返回true.

class ObserverSms extends ContentObserver {
private Context mContext;

public ObserverSms(Context context, Handler handler) {
    super(handler);
    mContext = context;
}

@Override
public boolean deliverSelfNotifications() {
    return true;
}

@Override
public void onChange(boolean selfChange) {
    super.onChange(selfChange);
    MyLog.logDebugInConsole(TAG, "Sms Database Changed");
}
}
Run Code Online (Sandbox Code Playgroud)

  • 它没有改变结果,我为历史观察者编码和测试它,问题仍然存在(在做了你说的之后) (7认同)