我有两个按钮,一个是取消按钮,另一个是查看按钮,当应用程序在后台并出现警报时,我单击了UILocalNotification按钮,它就会在应用程序上打开,但我有一个方法调用,如果启动选项有一个不工作的UILocalNotification对象,就会运行该方法调用
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//notifcation key
UILocalNotification *notifcation = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
if (notifcation) {
NSLog(@"working");
}
}发布于 2012-02-24 10:41:35
谢谢你的帮助我已经弄明白了,我认为启动选项是传递给应用程序的,即使应用程序在后台,但如果应用程序在后台,本地通知出现在应用程序中,情况就不是这样了,代理有调用的didReceiveLocalNotification方法,我认为这是在应用程序在前台时调用的,当应用程序确实在后台启动时,选项被调用,但当应用程序关闭(而不是在后台)时,选项只有本地通知键,通知是调用来启动应用程序的。因此,如果其他人也有同样的问题,请确保使用
-(void) application:(UIApplication *)application
didReceiveLocalNotification:(UILocalNotification *)notification 方法,当您单击要运行的本地通知警报上的操作按钮时,以及从该通知警报按钮打开应用程序时的操作。
发布于 2012-02-23 15:56:52
当你的应用程序在后台时,didFinishLaunchingWithOptions在这种情况下不会调用-
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification这里的userInfo和UIApplicationLaunchOptionsLocalNotificationKey是一样的。
https://stackoverflow.com/questions/9409064
复制相似问题