ios app在未启动或者后台状态下收到通知执行哪个方法?


(zhao) #1

app在未启动或者后台状态下收到通知执行哪个方法?我需要在app未打开状态下收到通知后做一些数据的存储操作


#2

(zhao) #3

谢谢 完美解决


(zhao) #4

你好,刚刚测试,在app未开启状态下,- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler; 这个方法只会调用一次,打开app再关掉 这个方法就不执行了 ps:每次发送通知都够选了 content-available选项


#5

收到消息才会调用


(zhao) #6

你好 我跟您说一下操作流程 : 第一次运行app,退出程序后,可正常收到通知,并且多次调用- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler 方法 , 然后打开app,然后再关掉app,这时发送推送- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler这个方法就不执行了 不知道什么原因。。。


#7

这是杀死状态吗?
1、App杀死是不会调用的
2、该方法,收到消息时会调用
3、关于该方法的具体说明上面链接也说了。


(zhao) #8

是杀掉 , 但是首次杀掉app,发送通知仍会执行该方法! 刚刚验证的。和你说的杀掉app不执行该方法互相矛盾


#9

关于这个设定,是Apple的设定。

能调用想来是还没有彻底杀死吧


(zhao) #10

如果这样的话 极光有没有提供在app被杀死的状态下可以执行的方法 我需要在app被杀死后 收到通知做一些处理啊 储存数据和更改推送数量


#11

这个没有办法,只能说你点了icon进入前台再获取信息再存储(Apple没有提供相关的方法)

可以用通知+自定义消息,自定义消息前台接收不展示,且保留5条离线消息