3

我正在使用 UILocalNotification。当通知显示并且用户单击我的 alertAction 时,如何在我的应用加载时将它们定向到特定视图?(类似于日历应用程序如何向您显示刚刚收到警报的事件)。

我在用:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOption {

    UILocalNotification *localNotif = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey]; 

    if (localNotif) {
        NSString *itemName = [localNotif.userInfo objectForKey:ItemListKey]; 
        //  [viewController displayItem:itemName]; // custom method 
        application.applicationIconBadgeNumber = localNotif.applicationIconBadgeNumber-1; 
        NSLog(@"has localNotif %@",itemName);
    }

    return YES;
}
4

1 回答 1

3

您需要构建应用程序视图控制器,以便可以从 applicationLaunch 中显示特定视图。例如,这可能意味着以编程方式重新创建整个视图控制器结构,而没有任何用户交互的好处。您可能必须手动选择选项卡栏选项卡、手动创建导航控制器堆栈等。

编辑:此外,还有三种情况需要处理本地通知:

  • 该应用程序收到本地通知并从后台带到前台(因此您的所有视图控制器结构都已经完好无损,但您仍然必须手动“导航”到正确的位置)

  • 应用收到本地通知并已在前台运行

  • 该应用程序刚刚启动

于 2011-02-16T20:44:40.960 回答