Это для доступа к истории телефонных звонков
Uri allCalls = Uri.parse("content://call_log/calls");
c = managedQuery(allCalls, null, null, null, null);
String num= c.getString(c.getColumnIndex(CallLog.Calls.NUMBER));// for number
String name= c.getString(c.getColumnIndex(CallLog.Calls.CACHED_NAME));// for name
String duration = c.getString(c.getColumnIndex(CallLog.Calls.DURATION));// for duration
int type = Integer.parseInt(c.getString(c.getColumnIndex(CallLog.Calls.TYPE)));// for call type, Incoming or out going
И, насколько мне известно, вы не можете выполнять какие-либо действия, или вы не можете догадаться, что ваш звонок принят или нет, потому что Android предоставляет только 3 состояния вызова
- В режиме ожидания (нормальное состояние, когда телефон находится в режиме ожидания, вызов не набран или не принят)
- в режиме разговора (когда вызов находится в
состоянии набора номера или выбран) - Звонок(При поступлении входящего вызова принимается трубка)
Таким образом, невозможно узнать, что вызов принят, или звонок, или в состоянии набора, или в состоянии удержания
Thankyou