5

UIApplication具有方便的applicationState属性,可让您查看应用程序是否在后台。在行动(和共享)扩展中,使用 ofUIApplication是非法的,即使您扩展中获得了它的实例,它也总是会报告applicationState=UIApplicationStateBackground. 我也试过观察UIApplicationDidEnterBackgroundNotification,它永远不会触发。

有没有办法有效地判断扩展程序是在前台还是后台的应用程序中运行?

4

1 回答 1

8

发布 iOS 8.2,您可以观察此处列出的通知。

NSExtensionHostDidBecomeActiveNotification NSExtensionHostWillResignActiveNotification NSExtensionHostDidEnterBackgroundNotification NSExtensionHostWillEnterForegroundNotification

在注册这些通知之前,请务必检查您使用的是适当版本的设备,否则您的扩展程序将崩溃,因为它们将会崩溃nil

于 2015-08-22T20:08:35.823 回答