我有一个用于更改通话记录的内容观察者
class CallContentObserver extends ContentObserver {
Context context;
public CallContentObserver(Handler handler, Context context) {
super(handler);
this.context = context;
}
@Override
public void onChange(boolean selfChange) {
super.onChange(selfChange);
Cursor c = context.getContentResolver()
.query(CallLog.Calls.CONTENT_URI,null,null, null, "Calls._ID DESC");
mCursor.moveToFirst();
//How do I know the call is answered or missed ?
如上所示,在onChange()
回调中,我想获取导致此onChange()
事件被触发的最新通话记录。
我有两个问题:
1.拿到最新的通话记录后,如何知道来电是接听还是未接?
2. onChange() 似乎在我开始通话时被调用了两次,但我只想在通话开始时访问一次CallLog,如何摆脱这个2次触发的问题onChange()
?