繁体   English   中英

处理IOS应用程序开发中的中断

[英]Handling Interrupts in IOS app development

我想知道当应用程序处于前台时如何处理中断,如来电,短信。 我阅读了苹果文档,并说该应用程序将暂时进入非活动状态。 将调用“ applicationWillResignActive”功能。 并且应该执行诸如停止计时器,定期任务和运行元数据查询之类的操作,并且当其返回活动状态时,必须再次禁用这些任务。 他们说计时器和定期任务时指的是什么样的任务。 以及我们如何才能明智地建立这些编码。 任何帮助将不胜感激。 谢谢

是的,当收到临时中断时,UIApplication的以下方法称为[Apple的文档]

- (void)applicationWillResignActive:(UIApplication *)application

它们使用计时器引用的任务和定期任务都是使用计时器定期执行的这类任务 例如,您可以在后台运行计时器以更新视图的内容。 然后,当应用程序将退出活动状态时,应该在该计时器处停止该计时器。

例如,假设您正在运行一个计时器,每10秒执行一次任务:

// AppDelegate.m

// When application becomes active the timer is started
- (void)applicationDidBecomeActive:(UIApplication *)application {

    self.timer = [NSTimer scheduledTimerWithTimeInterval:10.0
                                                  target:self
                                                selector:@selector(scheduledTask:)
                                                userInfo:nil
                                                 repeats:YES];
}

// When the application will resign active the timer is stopped
- (void)applicationWillResignActive:(UIApplication *)application {

    [self.timer invalidate];
    self.timer = nil;
 }

计划的任务将是:

- (void)scheduledTask:(NSTimer *)timer {

    // Up to you... for instance: web service call
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM