1 - (void)applicationDidEnterBackground:(UIApplication *)application 2 { 3 [[UIApplication sharedApplication]setApplicationIconBadgeNumber:0];//进入前台取消应用消息图标 4 5 6 UIApplication* app = [UIApplication sharedApplication]; 7 8 __block UIBackgroundTaskIdentifier bgTask; 9 10 bgTask = [app beginBackgroundTaskWithExpirationHandler:^{11 12 dispatch_async(dispatch_get_main_queue(), ^{13 14 if (bgTask != UIBackgroundTaskInvalid)15 16 {17 18 bgTask = UIBackgroundTaskInvalid;19 20 }21 22 });23 24 }];25 26 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{27 28 dispatch_async(dispatch_get_main_queue(), ^{29 30 if (bgTask != UIBackgroundTaskInvalid)31 32 {33 34 bgTask = UIBackgroundTaskInvalid;35 36 }37 38 });39 40 });41 42 }
好了,这就是我的解决办法,不用系统的电话服务照样可以唤醒程序不被睡眠,导致后台推送不过来消息。。
谢谢大家,我们以后可以多多学习,多多进步。。
PS:不知道别的办法是什么,有别的办法的可以给我留言,我们一同探讨。。
新闻热点
疑难解答