Обнаружение, если был получен ответ на исходящий вызов

Когда ACTION_NEW_OUTGOING_CALL транслируется, мне нужно ACTION_NEW_OUTGOING_CALL следующее событие другого ACTION_NEW_OUTGOING_CALL . Не могли бы вы посоветовать, как этого добиться? Я знаю, что это возможно, так как приложение дозвона андроида меняет зеленый значок андроида на фотографию человека, когда он подбирает. Благодаря!

ОБНОВЛЕНО: я взглянул на источник приложения на Android, обрабатывающий исходящие звонки. Я заметил следующий метод в ContactsUtils :

 /** * Kick off an intent to initiate a call. */ public static void initiateCall(Context context, CharSequence phoneNumber) { Intent intent = new Intent(Intent.ACTION_CALL_PRIVILEGED, Uri.fromParts("tel", phoneNumber.toString(), null)); context.startActivity(intent); } 

Думаю, мой ответ в том, что я слушаю Intent.ACTION_CALL_PRIVILEGED . Итак, чтобы задать мой вопрос: Кто-нибудь знает, какая деятельность обрабатывает Intent.ACTION_CALL_PRIVILEGED ? Заранее благодарю

Solutions Collecting From Web of "Обнаружение, если был получен ответ на исходящий вызов"

Я не думаю, что есть такой API, и нет API для отправки DTMF по той же причине, что вы не можете сказать, когда этот вызов подключен.

Не обязательно, чтобы это можно было фиксировать как внешнее приложение. Зеленый значок андроида является частью приложения, которое управляет вызовом, поэтому для изменения значка не требуется широковещательная передача.

Что касается менеджера телефонии android, вы не можете программно определить, был ли получен ответ на вызов или нет. Это означает, что у вас нет возможности узнать, когда пользователь выбрал телефон на другом конце. Android имеет 3 состояния диспетчера телефонии, и ни один из них не способен определить, был ли вызов фактически ответом или нет (В СЛУЧАЕ ВЫХОДНЫХ ЗВОНКОВ)

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

Некоторые запрашивают его здесь: https://code.google.com/p/android/issues/detail?id=14266

Во всяком случае, в версиях выше Android 4.2, поскольку Logcat «песочница», это может быть невозможно …