#import "AppDelegate.h"
@interface AppDelegate ()
@property (nonatomic, unsafe_unretained) UIBackgroundTaskIdentifier backgroundTaskIdentifier;
@property(nonatomic,assign)NSInteger tep;
@property (nonatomic, strong) NSTimer *myTimer;
@end
- (void)applicationDidEnterBackground:(UIApplication *)application {
_tep = 0;
self.backgroundTaskIdentifier =[application beginBackgroundTaskWithExpirationHandler:^( void) {
[self endBackgroundTask];
}];
// 模擬一個Long-Running Task
self.myTimer = [NSTimer scheduledTimerWithTimeInterval:3.0f
target:self
selector:@selector(timerMethod:)
userInfo:nil
repeats:YES];
repeats:YES];
}
- (void) endBackgroundTask{
dispatch_queue_t mainQueue = dispatch_get_main_queue();
AppDelegate *weakSelf = self;
dispatch_async(mainQueue, ^(void) {
AppDelegate *strongSelf = weakSelf;
if (strongSelf != nil){
[strongSelf.myTimer invalidate];// 停止定時器
// 標記指定的后臺任務(wù)完成
[[UIApplication sharedApplication] endBackgroundTask:self.backgroundTaskIdentifier];
// 銷毀后臺任務(wù)標識符
strongSelf.backgroundTaskIdentifier = UIBackgroundTaskInvalid;
}
});
}
// 模擬的一個 Long-Running Task 方法
- (void) timerMethod:(NSTimer *)paramSender{
_tep ++;
// backgroundTimeRemaining 屬性包含了程序留給的我們的時間
NSTimeInterval backgroundTimeRemaining =[[UIApplication sharedApplication] backgroundTimeRemaining];
if (backgroundTimeRemaining == DBL_MAX){
// NSLog(@"Background Time Remaining = Undetermined %f",backgroundTimeRemaining);
NSLog(@"后臺還在執(zhí)行........ 這里是定時器里面..............3 秒一次");
//可以在這里持續(xù)發(fā)送請求和其他操作
if (_tep % 5 == 0) {
NSLog(@"..............一次");
}
} else {
NSLog(@"Background Time Remaining = %.02f Seconds", backgroundTimeRemaining);
}
}
- (void)applicationWillEnterForeground:(UIApplication *)application {
[self endBackgroundTask];
}
iOS程序 在后臺不被掛起
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門必搞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人囊咏,你說我怎么就攤上這事恕洲∷穑” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵霜第,是天一觀的道長葛家。 經(jīng)常有香客問我,道長泌类,這世上最難降的妖魔是什么癞谒? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮刃榨,結(jié)果婚禮上弹砚,老公的妹妹穿的比我還像新娘。我一直安慰自己枢希,他們只是感情好桌吃,可當我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著苞轿,像睡著了一般茅诱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上搬卒,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼田盈!你這毒婦竟也來了畜号?” 一聲冷哼從身側(cè)響起,我...
- 正文 年R本政府宣布皮钠,位于F島的核電站稳捆,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏麦轰。R本人自食惡果不足惜眷柔,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望原朝。 院中可真熱鬧驯嘱,春花似錦、人聲如沸喳坠。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽壕鹉。三九已至剃幌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間晾浴,已是汗流浹背负乡。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 最近新開一個項目,要使用WebSocket 在后臺保持連接懒豹。大家都知道芙盘,在iOS平臺上,由于蘋果的后臺機制脸秽,會有以...
- http://blog.csdn.net/u013756604/article/details/54967711蘋...
- http://www.starming.com/index.php?v=index&view=69
- 三種方式使得iOS程序即使在關(guān)閉或崩潰的情況下也能夠在后臺持續(xù)進行一些任務(wù),比如更新程序界面快照晦炊,下載文件等鞠鲜。這三...