После Android. Создание руководства по вызову , я смог обработать входящие и исходящие вызовы VoIP; в основном, следуя руководству и реализуя необходимые функции обратного вызова и функции, теперь мое приложение прекрасно интегрируется со встроенным приложением для телефона - например, теперь аудио VoIP не накладывается на звук родного телефонного звонка.
Мой следующий шаг - заставить конференцию работать, используя ту же экосистему Android с самостоятельным вызовом. Вот где это действительно сложно, так как нет документации по этому вопросу. Вот что я делаю:
Реализовано android.telecom.ConnectionService
через MyConnectionService
и обработано onCreated*
обратных вызовов для предоставления MyConnection
экземпляров (подклассов `android.telecom.Connection)
Обработка android.telecom.ConnectionService
. onConference
путем создания экземпляра MyConference
(подкласс `android.telecom.Conference)
Вызов Connection.setConferenceables
с экземплярами MyConnection
, с помощью которых можно создать MyConference
.
Однако недостающее звено, по-видимому, является функцией merge
или conference
, вызываемой для объекта MyConnection
, который, в свою очередь, должен вызывать MyConnectionService
. onConference
.
.
Просматривая исходный код Android, я вижу, что android.telecom.Call
имеет функцию .conference
, которая отсутствует android.telecom.Connection
.
Кроме того, есть [IConnectionService][2]
с функцией .conference
, которая должна запускать весь поток конференции / слияния, но это только внутренний (скрытый интерфейс API).
Итак, мой вопрос: как создать конференцию из двух или более android.telecom.Connection
активных экземпляров?