即使应用程序被杀死并发送本地通知,我也必须在后台监听调用。有没有办法继续做这样的事情?我的意思是超过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 :(得分:0)
Foursquare正在使用位置背景模式,在某些情况下会在应用程序被杀死时重新启动它。然而,没有相应的监控电话。您可能希望的最佳方法是合法使用,以便能够使用其中一种后台模式,使您能够运行呼叫监控代码并在被杀时重新启动应用程序。如果您没有合法使用,您的应用将被拒绝从应用商店。