应用程序是后台时收到的远程通知如果应用程序被杀,则不会出现“didReceiveRemoteNotification - fetchCompletionHandler”方法吗?

时间:2015-10-08 11:51:17

标签: ios objective-c push-notification

我们已经实现了以下方法来接收远程通知并启用了“项目功能下的后台获取和远程通知”。即使应用程序位于前景或后台,方法也会出现。但是“如果应用程序被杀死,在后台收到通知,则后续方法不会被调用”。如何解决这个问题?

view = (Android.Support.V4.Widget.NestedScrollView)mLayoutInflator.Inflate(Resource.Layout.view_registrationstep2, null);//InvalidCastException

预先感谢您的帮助!

4 个答案:

答案 0 :(得分:4)

杀死应用程序会间接禁用推送通知。

这是因为如果用户杀死应用程序the OS will not relaunch it,除非用户点击主屏幕上的应用程序图标。

这很不幸,因为大多数用户都不知道杀毒应用程序(这很有趣!)会产生这些恼人的附带效果。

答案 1 :(得分:2)

这是Apple的"App Programming Guide for iOS"

  

在大多数情况下,系统在用户强行退出后不会重新启动应用。位置应用程序是一个例外,它在iOS 8及更高版本中被用户强行退出后重新启动。但是,在其他情况下,用户必须明确启动应用程序或重启设备,然后系统才能将应用程序自动启动到后台。

答案 2 :(得分:1)

当应用被杀时推送通知不支持。因为您的应用已不再运行。所以,没有办法接收推送通知。

答案 3 :(得分:0)

如果应用未激活,则无法调用此方法。相反,如果用户从通知中启动应用程序,则应用程序将在didFinishLaunchingWithOptions中具有有效负载,您可以在此处理通知。

如果该应用未从通知中打开,则您无法获得此功能。

你到底在想什么?您可以让应用询问后台时间,并根据需要执行代码。