iOS / XCode:如何通过点击通知或跳板应用程序图标来了解该应用程序已启动?

时间:2012-10-17 15:03:16

标签: ios cocoa-touch notifications push-notification

我想知道是否有办法知道某个应用程序(可以在后台关闭或打开)是否已通过点击启动:

  • 通知(在通知中心)?
  • 或跳板上的应用程序图标?

谢谢!

2 个答案:

答案 0 :(得分:11)

把这段代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    UILocalNotification *notification = launchOptions[UIApplicationLaunchOptionsLocalNotificationKey];

    if (notification) {
        // launched from notification
    } else {
        // from the springboard
    }
}

UIApplicationDelegate

答案 1 :(得分:6)

来自Scheduling, Registering, and Handling Notifications 上的Apple文档:

iOS注意:在iOS中,您可以确定是否由于用户点击操作按钮而启动了应用程序,或者是否通过检查应用程序将通知传递给已在运行的应用程序州。在委托的application:didReceiveRemoteNotification:application:didReceiveLocalNotification:方法的实现中,获取applicationState属性的值并对其进行评估。如果值为UIApplicationStateInactive,则用户点击操作按钮;如果值为UIApplicationStateActive,则应用程序在收到通知时位于最前面。