У меня есть наблюдатель содержимого для изменения журнала вызововКак проверить, если вызов пропущен или ответил CallLog
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()
.
У меня 2 вопроса:
1. После того как я получил последний элемент журнала вызовов, как я знаю ответа на вызов или пропустил?
2. Кажется OnChange() вызываются в два раза, когда я начала вызова, но я только хочу, чтобы получить доступ CallLog один раз при запуске вызова, как избавиться от этого 2 раза вызвало проблемы onChange()
?
Привет, спасибо, однако ваш ответ на мой вопрос 1 не то, что мне нужно. Я знаю это и пробовал это, но я имею в виду, чтобы найти способ узнать, отвечает ли исходящий вызов или нет. В вашем ответе MISSED_TYPE означает, что входящий вызов пропущен, а INCOMING_CALL - ответ на входящий вызов, но как насчет состояния исходящего звонка? – Mellon
кажется, что нет никакого способа сделать это, потому что у нас нет событий, которые не могут сигнализировать об ответах. – kvagus