即使应用程序被杀,也可以监控呼叫

时间:2014-04-29 20:16:06

标签: ios objective-c iphone ios7 uibackgroundmode

即使应用程序被杀死并发送本地通知,我也必须在后台监听调用。有没有办法继续做这样的事情?我的意思是超过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];

        }
    }];

}

1 个答案:

答案 0 :(得分:0)

Foursquare正在使用位置背景模式,在某些情况下会在应用程序被杀死时重新启动它。然而,没有相应的监控电话。您可能希望的最佳方法是合法使用,以便能够使用其中一种后台模式,使您能够运行呼叫监控代码并在被杀时重新启动应用程序。如果您没有合法使用,您的应用将被拒绝从应用商店。