我的应用程序委托(delegate)中有一个 didReceiveRemoteNotification 处理程序。
即使我返回一个空代码块,我的应用程序也会收到推送通知并在应用程序运行时将其显示给用户。
我想要当应用程序在后台时推送通知,而不是当它在前台运行时。
我已经阅读了十几篇关于 iOS8 通知的 SO 帖子和文档,以及有关通知的 WWDC2014 视频,但我仍然不知道如何在应用程序位于前台时防止通知模式警报。
如果您知道任何方法,请告诉我。
最佳答案
您可以在didReceiveRemoteNotification
中检查应用程序状态以实现您的功能。如果应用程序状态处于事件状态,则不要执行您的代码。
如需更多引用,请查看下面的代码。
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
{
if(application.applicationState == UIApplicationStateActive) {
// Do nothing
}else{
// Do your code here
}
}
关于objective-c - iOS8 如果应用程序位于前台则禁用推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29044930/