您的位置:首页 > 移动开发 > IOS开发

【iOS开发】在程序被送入后台时,开启一个长期任务(voip)。

2016-11-22 13:10 495 查看
#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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐