有人解释方法applicationDidBecomeActive
何时被调用?这个方法的目的是什么?
当调用applicationDidBecomeActive
方法时?
答案 0 :(得分:34)
了解iOS的状态和转换
<强>国强>
未投放 - 该应用未投放。
无效 - 应用程序在前台运行,但未接收事件。可以将iOS应用程序置于非活动状态,例如,当收到呼叫或SMS消息时。
有效 - 应用程序在前台运行,并接收事件。
背景 - 应用程序在后台运行,并执行代码。
已暂停 - 该应用位于后台,但未执行任何代码。
七个最重要的应用程序委托方法
操作系统调用应用程序委托中的特定方法,以便于转换到各种状态。开发人员应该处理的七个最重要的应用程序委托方法是:
<强>应用:willFinishLaunchingWithOptions 强>
启动启动过程时调用的方法。这是第一次在应用程序中执行任何代码的机会。
<强>应用中:didFinishLaunchingWithOptions 强>
启动过程即将完成时调用的方法。由于在显示任何应用程序窗口之前调用此方法,因此这是准备界面并进行任何最终调整的最后机会。
<强> applicationDidBecomeActive 强>
应用程序变为活动状态后,应用程序委托将通过applicationDidBecomeActive方法收到回调通知消息。
每次应用程序从上一个交换机返回活动状态时,也会调用此方法,从而产生电话或短信。
<强> applicationWillResignActive 强>
有几个条件会产生applicationWillResignActive方法。每次发生临时事件(例如电话呼叫)时,都会调用此方法。同样重要的是要注意&#34;退出&#34; iOS应用程序不会终止进程,而是将应用程序移动到后台。
<强> applicationDidEnterBackground 强>
当iOS应用程序正在运行但不再在前台时,会调用此方法。换句话说,当前未显示用户界面。根据Apple的UIApplicationDelegate协议参考,该应用程序有大约五秒的时间来执行任务并返回。如果方法在五秒内没有返回,则终止应用程序。
<强> applicationWillEnterForeground 强>
当app正准备从后台移动到前台时,会调用此方法。但是,如果没有调用applicationDidBecomeActive方法,应用程序不会进入活动状态。此方法使开发人员有机会在应用程序变为活动状态之前重新建立先前运行状态的设置。
<强> applicationWillTerminate 强>
此方法在触发终止事件时通知您的应用程序委托。点击主页按钮不再退出应用程序。强制退出iOS应用程序或关闭设备会触发applicationWillTerminate方法。这是保存应用程序配置,设置和用户首选项的机会。
答案 1 :(得分:2)
当用户使用应用程序时,他处于活动状态。用户从结果电话呼叫或拉下下拉通知中心或按下主屏幕时切换到非活动状态(这是当应用被告知处于后台状态时)然后应用程序再次打开(这当应用被告知回到前景状态时。)
因此每次用户从非活动状态切换到活动状态 applicationDidBecomeActive这个委托叫做