#pragma mark - 程序进入后台 << 开启socket后台长连接 voip(网络电话) >>
- (void)keepLongConnectionOfSocketWhenApplicationDidEnterBackground:(UIApplication *)application
{
// 允许后台开启一个长期任务,记得配置voip(网络电话)
__block UIBackgroundTaskIdentifier backgroundTaskIdentifier;
backgroundTaskIdentifier = [application beginBackgroundTaskWithExpirationHandler:^{
dispatch_async(dispatch_get_main_queue(), ^{
if (backgroundTaskIdentifier != UIBackgroundTaskInvalid)
{
backgroundTaskIdentifier = UIBackgroundTaskInvalid;
}
});
}];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
dispatch_async(dispatch_get_main_queue(), ^{
if (backgroundTaskIdentifier != UIBackgroundTaskInvalid)
{
backgroundTaskIdentifier = UIBackgroundTaskInvalid;
}
});
});
NSLog(@"后台backgroundTaskIdentifier-------- %lu",(unsigned long)backgroundTaskIdentifier);
}
转载地址:
http://www.cnblogs.com/lyanet/archive/2013/03/26/2983079.html