0

У меня есть наблюдатель содержимого для изменения журнала вызововКак проверить, если вызов пропущен или ответил 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()?

ответ

0

1.

Integer type=cursor.getInt(cursor.getColumnIndexOrThrow(CallLog.Calls.TYPE)); 
switch(type){ 
    case CallLog.Calls.INCOMING_TYPE: 
     /// do something 
     break; 
    case CallLog.Calls.OUTGOING_TYPE: 
     /// do something 
     break; 
    case CallLog.Calls.MISSED_TYPE: 
     /// do something 
     break; 
} 

2. попытка установить второй аргумент в registerContentObservable() к ложным, смотрите на стр.3 там: https://stackoverflow.com/a/10767455/2751697

+0

Привет, спасибо, однако ваш ответ на мой вопрос 1 не то, что мне нужно. Я знаю это и пробовал это, но я имею в виду, чтобы найти способ узнать, отвечает ли исходящий вызов или нет. В вашем ответе MISSED_TYPE означает, что входящий вызов пропущен, а INCOMING_CALL - ответ на входящий вызов, но как насчет состояния исходящего звонка? – Mellon

+0

кажется, что нет никакого способа сделать это, потому что у нас нет событий, которые не могут сигнализировать об ответах. – kvagus

Смежные вопросы