美文网首页
beginBackgroundTaskWithExpiratio

beginBackgroundTaskWithExpiratio

作者: andy_tu | 来源:发表于2016-12-13 17:23 被阅读0次

正常程序退出后,会在几秒内停止工作;

要想申请更长的时间,需要用到

beginBackgroundTaskWithExpirationHandler

endBackgroundTask

一定要成对出现

- (void)applicationDidEnterBackground:(UIApplication*)application 

{

UIApplication*application = [UIApplicationsharedApplication];

backgroundTask= [applicationbeginBackgroundTaskWithExpirationHandler:^{

[selfstopBackgroundTask];

}];

if(backgroundTask==UIBackgroundTaskInvalid)

{

[selfstopAllCamera];

return;

}

if(backgroundTaskTimer)

{

[backgroundTaskTimerinvalidate];

backgroundTaskTimer=NULL;

}

backgroundTaskTimer= [NSTimerscheduledTimerWithTimeInterval:30.0ftarget:selfselector:@selector(stopBackgroundTask)userInfo:NULLrepeats:NO];

}

-(void)stopBackgroundTask

{

if(backgroundTaskTimer)

{

[backgroundTaskTimerinvalidate];

backgroundTaskTimer=NULL;

}

UIApplication*application = [UIApplicationsharedApplication];

[applicationendBackgroundTask:backgroundTask];

backgroundTask=UIBackgroundTaskInvalid;

}

- (void)applicationWillEnterForeground:(UIApplication*)application

{

[selfstopBackgroundTask];

}

相关文章

网友评论

      本文标题:beginBackgroundTaskWithExpiratio

      本文链接:https://www.haomeiwen.com/subject/jpukmttx.html