2016-01-21 3 views
0

Я следую этому примеру Sinch, чтобы создать приложение для приложения, вызывающего приложение: http://www.hnwatcher.com/r/1345925/Android-Use-the-Sinch-SDK-to-build-a-free-calling-app-in-30-mins, и я загрузил пример приложения в github. Все работает нормально, за исключением того, что на входящий вызов отвечает автоматически. Я хочу, чтобы на вызов был получен ответ после того, как получатель нажал кнопку. Как я могу добиться этого?как предотвратить автоматический ответ входящего вызова

ответ

0

Когда приложение получает уведомление о входящем вызове, то следующий метод делегата называется (я скопировал это прямо из Sinch приложения к приложению вызову tutorial):

- (void)client:(id<SINCallClient>)client didReceiveIncomingCall:(id<SINCall>)call { 
    // For now we are just going to answer calls, 
    // in a normal app you would show in incoming call screen 
    call.delegate = self; 
    _call = call; 
    [_call answer]; 
} 

В этом уроке вызова предназначен чтобы получить ответ сразу, поэтому мы звоним

[_call answer]; 

ответить на него.

Чтобы ответить на звонок одним нажатием кнопки, вам нужно просто переместить указанную выше строку кода из этого метода делегата в действие кнопки, и она будет работать.

- (IBAction)answerButtonPressed: (UIButton *)button { 
    [_call answer]; 
} 

Добавление выше будет означать, что при поступлении вызова в нем не будет немедленно ответил и при нажатии на кнопку вызова будет подключен.

. Примечание: Не забудьте сохранить указатель на входящий вызов, так что вы отвечаете на вызов, как он приходит в Мы можем видеть, что это происходит в методе приема вызовов:

_call = call; 
Смежные вопросы