8

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

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

谢谢 !!

4

2 回答 2

11

把这段代码:

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

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

在你的UIApplicationDelegate.

于 2012-10-17T15:13:26.537 回答
6

来自关于调度、注册和处理通知 的 Apple Docs :

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

于 2012-10-17T15:13:15.237 回答