2014-04-29 2 views
0

Мне нужно отслеживать звонки в фоновом режиме, даже когда приложение убивается и отправляет локальное уведомление. Разве это так держать такую ​​вещь? Я имею в виду и за 10 минут. До сих пор я мог отслеживать звонки и отправлять уведомления, но только не убил приложение. Заранее спасибо.Мониторинг звонков, даже если приложение убито

Вот как я делаю:

- (void)applicationDidEnterBackground:(UIApplication *)application 
{ 

    UIBackgroundTaskIdentifier bgTask = 0; 

    UIApplication *app = [UIApplication sharedApplication]; 

    bgTask = [app beginBackgroundTaskWithExpirationHandler:^{ 
     [app endBackgroundTask:bgTask]; 
    }]; 

    [self startMonitoringCalls]; 
} 

-(void)startMonitoringCalls 
{ 

    callCenter = [[CTCallCenter alloc] init]; 

    [callCenter setCallEventHandler:^(CTCall *call) { 
     if ([[call callState] isEqual:CTCallStateConnected]) { 
      NSLog(@"Get called"); 
     } else if ([[call callState] isEqual:CTCallStateDisconnected]) { 

      UILocalNotification *notification = [[UILocalNotification alloc] init]; 
      notification.fireDate = [NSDate date]; 
      notification.alertBody = @"Would you like to..."; 
      [[UIApplication sharedApplication] scheduleLocalNotification:notification]; 

     } 
    }]; 

} 
+0

Когда приложение убито, он не работает. Когда приложение не работает, как он может что-то сделать? Если вы на самом деле не намереваетесь убить, верните правильную терминологию и точно укажите, что вы имеете в виду. Если вы не имеете в виду убитого, вы имеете в виду приостановленное в фоновом режиме? – Gruntcakes

+0

Я считаю, что короткий ответ на ваш вопрос «Нет». В iOS есть некоторые режимы выполнения фона, но ваш случай не соответствует ни одному из них. – Paulw11

+0

Например, в четырехкварталах, знаете, где вы находитесь, даже если дважды постучите по дому и убейте приложение. Это то, что я хотел, но обратился к мониторингу звонков. –

ответ

0

Foursquare использует режим расположения фона, который при некоторых обстоятельствах приложения программы возобновления, если его убили. Однако для мониторинга телефонных звонков нет эквивалента. Лучшее, на что вы можете надеяться, - это законное использование возможности использовать один из фоновых режимов, который позволит вам запустить ваш код мониторинга звонков и перезапустить приложение при его уничтожении. Если у вас нет законного использования, ваше приложение будет отклонено из магазина приложений.

+0

Решено в комментариях. –

Смежные вопросы