无论如何要知道用户是否通过点击通知中心来启动应用程序?

时间:2013-09-05 02:49:47

标签: ios apple-push-notifications

方法中的

didReceiveLocalNotification:(UILocalNotification *)notification我需要检测是否被调用,因为用户点击通知中心的通知或没有采取适当的行动。

还有吗?

1 个答案:

答案 0 :(得分:0)

使用 didReceiveLocalNotification :( UILocalNotification *)通知,您无法检查是否通过本地通知推送通知或直接点击应用图标打开了应用。

但是,

你可以做的是方法

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions (NSDictionary *)launchOptions

编写此代码

if ([launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]!=nil) {
// App opened from push notification but app was not in background
}else if ([launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey]!=nil){
    // App opened from local notification and app was in background
}

和方法

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification

您可以检测应用是否在后台时是否通过本地通知打开了应用

最后是最后一个方法

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo

在此方法中,您可以检查应用是否正在运行时是否在推送通知中打开了应用

我想这可以帮助您了解应用是否已从通知中心或其他地方打开