2016-03-05 1 views
0

Я пытаюсь добавить собственный модуль в свой проект React Native, но у меня возникают трудности с получением событий JS, когда мой телефон находится в спящем режиме.Получение Реагирования Собственные события во время работы приложения находятся в спящем режиме

Я реализовал диспетчеры событий, как указано в документации здесь: https://facebook.github.io/react-native/docs/native-modules-ios.html#sending-events-to-javascript

А вот конкретный код:

- (void)onIncomingCall:(PlivoIncoming*)incoming 
{ 
    incall = incoming; 
    [self.bridge.eventDispatcher 
    sendAppEventWithName:@"onIncomingCall" 
    body:nil]; 
} 

Это прекрасно работает, когда мое приложение находится на переднем плане и фона.

Есть ли способ решить это?

EDIT Кажется, что onIncomingCall не запускается во время сна. Любые идеи, почему это может произойти?

+0

называется 'onIncomingCall'? –

+0

@LouFranco кажется, что по какой-то причине его не вызывают в спящем режиме. Так что это абсолютно проблема. – Ismailp

+0

Когда телефон спит, ваше приложение не работает, API-интерфейсы телефонии не являются частью одобренных для приложений хранилищ приложений, поэтому я предполагаю, что библиотека предназначена для работы с джейлбрейковыми телефонами. Я не думаю, что есть одобренный способ для приложения ответить на телефонный звонок из сна. –

ответ

0

Ответ на этот вопрос заключается в том, что делегаты работают в фоновом режиме, но не в неактивном режиме, который устанавливается, когда приложение/телефон простаивает в течение> 15 минут.

Решение этой проблемы состояло в том, чтобы добавить VOIP-push для пробуждения приложения, чтобы делегаты могли обрабатываться снова.