当用户点击推送通知时,是否可以打开具体的viewcontroller?
我有新闻应用,主视图控制器有很多新闻,当用户点击一些新的,我打开下一个视图控制器与这个新闻的描述。
当用户点击推送通知时,我如何才能打开第二视图控制器?
我试着将Notification发送到我的UINavigationController并推送两个控制器,但是它不能正常工作,它只打开第一个视图控制器。
发布于 2014-02-03 21:52:24
当您点击本地通知或推送通知时,您可以处理应用程序,在AppDelegate.m中实现application:didReceiveLocalNotification:或application: didReceiveRemoteNotification:方法
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
}
-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {
}如果您的应用程序已关闭(而不是在后台),您可以验证是否收到了
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSDictionary *userInfo = [launchOptions objectForKey: UIApplicationLaunchOptionsRemoteNotificationKey];
if ( userInfo != nil )
[self application:application didReceiveRemoteNotification:userInfo];
}我不知道您是如何处理新闻的,但您可以向主视图控制器发送通知,通知您已经收到通知,传递"id“或新消息,然后创建第二个视图控制器(您需要验证您的MainViewController是否已经在NavigationController堆栈中创建):
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
[[NSNotificationCenter defaultCenter] postNotificationName:@"IHaveReceivedANotification" object:nil userInfo:userInfo];
}https://stackoverflow.com/questions/21536897
复制相似问题