0

在方法中, didReceiveLocalNotification:(UILocalNotification *)notification我需要检测它是否被调用,因为用户单击通知中心中的通知或没有适当的操作。

到底有没有?

4

1 回答 1

0

使用didReceiveLocalNotification:(UILocalNotification *)notification您无法检查应用程序是否从本地通知推送通知或直接单击应用程序图标打开。

但,

你能做的是方法

- (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

在这种方法中,您可以检查应用程序是否在应用程序正在运行或处于后台时从推送通知中打开

我想这将帮助您了解应用程序是从通知中心还是从其他地方打开的

于 2013-09-05T06:21:47.507 回答