首页 > ios点击icon进入程序怎么获取推送消息

ios点击icon进入程序怎么获取推送消息

如题:点击icon进入程序didFinishLaunchingWithOptions方法中launchOptions是nil的,无法得到消息。

但很多app都实现这种,不点通知进入,直接点app启动照样能得到推送信息的。

求大神指导~~

别的论坛里翻了个遍,发现有很多人都有这个疑问,但没人解决,希望在知道的人不吝赐教~~


如果不是点击通知栏进入APP,是拿不到推送消息的。原因是这样的,如果堆积了多条应用,回调将会变得复杂,而且没用。
正确的做法是,服务器要缓存好当前的未读消息,进入应用的时候去获取未读消息。
如果要识别通知栏点击,那获取未读消息之前可能还要进行进一步逻辑处理。


推送消息出现情景和处理办法

1. 当程序处于关闭状态收到推送消息时,点击图标会调用- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions这个方法,那么消息给通过launchOptions这个参数获取到。

2. 当程序处于前台工作时,这时候若收到消息推送,会调用- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo这个方法

3. 当程序处于后台运行时,这时候若收到消息推送,如果点击消息或者点击消息图标时,也会调用- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary *)userInfo这个方法

不知道你是不是第一种情况,实际测试中是可以获取的

【热门文章】
【热门文章】