我怎么知道我的应用程序是来自后台还是已经在前台

时间:2011-08-02 10:43:01

标签: iphone ios background apple-push-notifications foreground

我想以不同的方式处理APN,无论我的应用程序来自后台还是已经在前台。你知道哪些方法可以帮助我吗?

4 个答案:

答案 0 :(得分:0)

- (void)applicationDidBecomeActive:(UIApplication *)application

这是一种当app从背景到达前景时执行的方法。因此,您可以在上面的方法下编写代码,关于当应用程序从后台进入前台时您想要做什么。

答案 1 :(得分:0)

  • (void)applicationWillResignActive:(UIApplication *)application;
  • (void)applicationDidEnterBackground:(UIApplication *)application;
  • (void)applicationWillEnterForeground:(UIApplication *)应用程序;
  • (void)applicationDidBecomeActive:(UIApplication *)application;

请查看在delegate.m文件中编写的这些方法

答案 2 :(得分:0)

这些是处理有关更改应用程序状态的通知的消息。

– application:didFinishLaunchingWithOptions:
– applicationDidBecomeActive:
– applicationWillResignActive:
– applicationDidEnterBackground:
– applicationWillEnterForeground:
– applicationWillTerminate:
– applicationDidFinishLaunching:

您必须在指定的代表中实现您需要的那个!请查看以下链接的“任务”部分以获得进一步的帮助,尤其是“监控应用程序状态更改”部分; - )

Apple's UIApplicationDelegate Protocol Reference

答案 3 :(得分:0)

您必须实现应用程序:didReceiveLocalNotification:method。这两种情况都会被调用。您可以通过检查[UIApplication sharedApplication]的applicationState属性来区分这些情况:如果它是UIApplicationStateInactive,那么应用程序是在后台,如果它是UIApplicationStateActive,那么应用程序就在前台。