如果应用程序在前台,单击本地通知打开特定的视图控制器?

Posted

技术标签:

【中文标题】如果应用程序在前台,单击本地通知打开特定的视图控制器?【英文标题】:Open specific view controller on click of local notification, if app is in foreground? 【发布时间】:2016-04-08 11:09:58 【问题描述】:

我试图在单击本地通知时打开特定的视图控制器,如果应用程序在后台,我无法这样做,因为我在 applicationDidBecomeActive 方法中没有 [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];。如果可以的话请帮忙,在此先感谢。

【问题讨论】:

***.com/a/15502253/1850983 检查上面的链接。它将帮助您解决问题。 @PayalManiyar 感谢您的回答,如果应用程序在前台,我想这样做,如果应用程序不在前台,您上面提到的链接很好。我怎么知道用户点击了通知,因为不会调用 didFinishLaunchingWithOptions。 我已经给出了答案。请点赞。 谢谢,也请为这个问题投票。 抱歉,我没有遇到这个问题。 【参考方案1】:

喜欢

 UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
        yourViewController *obj=[storyboard instantiateViewControllerWithIdentifier:@"yourViewControllerStoryboardID"];
       // [self.window.rootViewController.navigationController pushViewController:obj animated:YES];
          self.window.rootViewController = obj;

更新

  - (void)applicationDidBecomeActive:(UIApplication *)application 
 
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
MapViewController *obj=[storyboard instantiateViewControllerWithIdentifier:@"Map"];
// [self.window.rootViewController.navigationController pushViewController:obj animated:YES];
self.window.rootViewController = obj;




更新1

您可以在此处获取本地通知操作

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

完整教程见this

【讨论】:

@PayalManiyar - Tanx 好友, @Anbu.Karthik 我怎么知道用户是否点击了通知? @MuhammadUmair - 检查更新的答案同时查看本教程也将解决您的问题nrj.io/simple-interactive-notifications-in-ios-8

以上是关于如果应用程序在前台,单击本地通知打开特定的视图控制器?的主要内容,如果未能解决你的问题,请参考以下文章

在前台单击推送通知横幅后如何触发操作

在 iOS 10 下使用 FCM 在前台单击推送通知后无法导航到特定的 viewController

当应用程序不在前台时,特定活动不会从通知单击打开(应用程序是最近的,没有被杀死!)

在本地通知上打开特定页面单击 Ionic

如何从 WatchOS 3 中的自定义通知操作中打开特定的视图控制器

Phonegap 推送插件。单击通知后打开特定的应用程序视图