Отображение экрана входящего вызова с iOS SDK в фоновом режиме при использовании webRTC

читая вокруг, у меня создалось впечатление, что это может не поддерживаться?

По сути, я пытаюсь сделать экран входящего вызова видео/голоса webRTC, когда мое приложение получает сигнал входящего вызова с моего сервера xampp. Что я хочу сделать, так это отобразить экран, похожий на скайп, с опцией ответа/зависания.

как я могу это сделать?


person Miki Bergin    schedule 27.12.2015    source источник
comment
Вы имеете в виду уведомление, которое затем можно сдвинуть влево (на экране блокировки), чтобы открыть дополнительные действия?   -  person jcaron    schedule 27.12.2015
comment
не обязательно экран блокировки, вы можете просто находиться в другом приложении, и это будет прерывать все, что вы делаете. Я не думаю, что уведомление соответствует моим потребностям, потому что я не могу настроить его внешний вид. Я хочу быть точно таким же, как экран входящего обычного звонка, за исключением собственного дизайна. Skype, Viber и многие другие приложения, поддерживающие VoIP, имеют этот экран, который срабатывает при входящем вызове VoIP, за исключением того, что технически я не использую VoIP...   -  person Miki Bergin    schedule 28.12.2015
comment
Я упомянул экран блокировки только потому, что дополнительные действия не отображаются так же в других обстоятельствах. Они будут отображаться на трамплинах или в других приложениях, просто по-другому (в основном проведите пальцем вниз, если используете баннеры). Действительно ли Skype показывает экран телефонного звонка, когда он находится в фоновом режиме/устройство заблокировано?   -  person jcaron    schedule 28.12.2015
comment
@MikiBergin, вы когда-нибудь узнавали, как отобразить экран входящего вызова из фона?   -  person rclark    schedule 14.08.2017


Ответы (1)


У вас есть несколько способов реализовать это:

  1. Вы можете объявить свое приложение как VOIP. Такому приложению разрешено иметь один сигнальный сокет, работающий даже в фоновом режиме; вы также должны использовать метод setKeepAliveTimeout:handler: , чтобы поддерживать активное соединение с сокетом. Как только новые данные будут готовы для чтения в этом сокете, ваше приложение будет разбужено, и вы сможете отправить локальное уведомление, чтобы сообщить пользователю о входящем звонке. Но этот подход устарел и не подходит для батареи.

  2. Вы можете просто использовать push-уведомления voip.

Взгляните на здесь для получения подробной информации о режиме.

person hamst    schedule 01.03.2016