如果应用程序在前台,单击本地通知打开特定的视图控制器?
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
当应用程序不在前台时,特定活动不会从通知单击打开(应用程序是最近的,没有被杀死!)