Подтвердить что ты не робот

Как объединить вызов программным способом, когда выполняется другой вызов (конференц-вызов)

Мое требование таково: Скажите, что я вызываю номер в это время, и я хочу позвонить другому номеру Programetically. До сих пор я сделал это: я могу позвонить на конкретный номер, пока уже идет какой-то звонок. Например, предположим, что я звоню на номер 123 и после 1мин. С Alarm Manger У меня есть событие триггера для вызова другого номера 456, и это делается!

Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:456"));
startActivity(intent);

Я использую такое намерение позвонить, и теперь я могу видеть экран на своем телефоне, который просит объединить звонок enter image description here

На этом изображении вы можете увидеть кнопку "Слияние вызовов". Теперь, когда пользователь нажмет на "Объединить", он объединит все 3 вызова, мой запрос - это я хочу сделать это программно не с пользовательским интерфейсом.

4b9b3361

Ответ 1

Ваш вопрос казался интересным, поэтому я начал копаться в Android Source. Вот что я нашел:

Активность на картинке, которую вы опубликовали, называется InCallUI

Когда вы начнете оглядываться, вы найдете InCallPresenter, который по строке 463 имеет:

final boolean canMerge = activeCall.can(Capabilities.MERGE_CALLS);

а затем в точке 472:

CallCommandClient.getInstance().merge();

когда вы проверяете этот метод merge() в CallCommandClient, вы найдете его ICallCommandService интерфейс, который, я думаю, является тем, что вы ищете:)

Инициализация этого CallCommandClient находится в CallHandlerService вокруг строки 193.

Надеюсь, это поможет и удачи.

PS. Перечисленные API-интерфейсы - это, в основном, встроенные элементы Android. Возможно, вам придется использовать отражение, чтобы позвонить ему, или это может быть невозможно вообще - оно может быть недоступным для вашего приложения, потому что оно не помечено как системное приложение.

Ответ 2

Android API не поддерживает функцию слияния вызовов, вы можете увидеть эту тему для этого. https://groups.google.com/forum/?fromgroups#!searchin/android-developers/conference $20call/android-developers/6OXDEe0tCks/8cuKdW1J9b8J но то, что вы можете сделать, это открыть экран телефонных звонков с помощью helpl, чтобы пользователь мог добавить другой вызов или слить вызов.

Ответ 3

Вы не можете управлять конференцией с помощью смартфона. Вам нужна промежуточная услуга, которая может сделать это за вас. Вы можете запрограммировать диспетчер конференций, используя CCXML.

Voxeo имеет хорошо размещенную платформу для реализации CCXML, и вы можете посмотреть их документацию о том, как настроить конференц-связь. В "Обучение CCXML 1.0\Multi-Party Conferencing в CCXML 1.0" есть примеры.

Вы можете разрабатывать и тестировать бесплатно на Voxeo, и они только начнут заряжать вас, если вы поместите его в производство. Другим вариантом является Twillio.

Вот ссылка на как вы программируете конференцию на своей платформе.

Проверьте ссылки, в которых вы получите полезную информацию. # любезность-SO

Ответ 4

Afaik. В SDK нет API, которые программно выполняют слияние вызовов.

Вам необходимо работать с RIL (Radio Interface Layer) для конференц-связи, для использования в андроидах для звонков по телефону.

Уровень интерфейса Android Radio (RIL) обеспечивает уровень абстракции между услугами телефонии Android (android.telephony) и радиооборудованием. RIL является радиоагностическим и включает в себя поддержку радиостанций на базе глобальной системы мобильной связи (GSM).

Смотрите здесь: http://www.kandroid.org/online-pdk/guide/telephony.html

Обновление

Как код модема разговаривает с кодом Android

http://fabiensanglard.net/cellphoneModem/index2.php

http://www.e-consystems.com/blog/android/?p=498

Итак, вам нужно написать команды модема AT в сокете, затем rild вызвать обратный вызов в библиотеку поставщика, затем библиотека поставщика, в свою очередь, делегирует радиопрограмму.

Ответ 5

Нет апи для получения конференц-вызова в android, вы можете играть с корневой системой и выполнять свою работу.

официально андроид не предоставляет api для конференц-вызова. Вы можете изучить больше для игры с правами доступа здесь

http://www.kandroid.org/online-pdk/guide/telephony.html