【问题标题】:How to invoke different screens based on push notification received in iPhone?如何根据 iPhone 中收到的推送通知调用不同的屏幕?
【发布时间】:2011-12-09 17:47:18
【问题描述】:
我的 iPhone 应用程序有不同的视图控制器,我想根据从后端收到的推送通知来调用它们。例如,如果我有视图控制器“A”和“B”,当用户收到有关“A”中某些活动的消息时,我会启动“A”(例如,请完成“A”中的活动)和
如果用户收到“请完成“B”中的活动,将启动屏幕“B”)。
谁能告诉我这在 iPhone 中是否可行?如果可以,怎么办?
【问题讨论】:
标签:
iphone
navigation
push-notification
apple-push-notifications
【解决方案1】:
当然。您的应用程序委托通过application:didReceiveRemoteNotification: 方法收到推送通知(如果通知在应用程序在前台处于活动状态时到达,或者应用程序在后台并且用户通过对推送进行操作将其带到前台)通知)或application:didFinishLaunchingWithOptions:(如果应用既不在后台也不在前台,并且用户通过推送通知启动它)。
在这两种情况下,作为任一方法的参数传递给您的字典都包含通知的有效负载/内容。您可以使用它来识别您的应用收到的通知类型,然后通过显示相应的视图控制器来采取相应的行动。