在ios objective c中,当应用程序处于活动状态时,如何获取推送通知?
我正在开发一个应用程序,在其中我实现了苹果推送通知。当我的应用程序处于后台状态时,我可以接收推送通知,但当我的应用程序处于活动状态时,我无法获取任何推送通知,anypne是否可以对此提供帮助 在在ios objective c中,当应用程序处于活动状态时,如何获取推送通知?,ios,objective-c,xcode8,Ios,Objective C,Xcode8,我正在开发一个应用程序,在其中我实现了苹果推送通知。当我的应用程序处于后台状态时,我可以接收推送通知,但当我的应用程序处于活动状态时,我无法获取任何推送通知,anypne是否可以对此提供帮助 在didReceiveMotonification中添加UIAlertView并检查您是否在活动状态下收到通知。检查下面的代码 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionar
didReceiveMotonification
中添加UIAlertView
并检查您是否在活动状态下收到通知。检查下面的代码
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
if (application.applicationState == UIApplicationStateActive) {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Received a Notification" message:[NSString stringWithFormat:@"My App received notification while it is running:\n%@",[[userInfo objectForKey:@"aps"] objectForKey:@"alert"]]delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alertView show];
}
}
尝试检查内部didReceiveRemoteNotification
- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler
委托方法以在所有状态下接收远程通知
如果要在活动状态下显示通知警报。使用HDNotificationView
显示通知警报
像这样:
if(application.applicationState == UIApplicationStateActive) {
[HDNotificationView showNotificationViewWithImage:[UIImage imageNamed:@"Icon-40.png"]
title:title
message:message
isAutoHide:YES
onTouch:^{
/// On touch handle. You can hide notification view or do something
[HDNotificationView hideNotificationViewOnComplete:nil];
}];
}
当应用程序收到的推送通知可以是以下5种状态之一时,请参见:
1)未运行
2)不活动
3)背景
4)暂停
5)活动的
如果应用程序状态为1,2,3,4,则iOS将处理并显示横幅
在5(活动状态)的情况下,我们的应用程序需要处理此情况
在这种情况下,将调用下面的方法
参考:
在这里,你需要使用application.state==Active检查应用程序的状态,然后你可以做任何你想做的事情理想情况下,我们需要显示警报 你能分享一些代码吗,这样任何人都可以很容易地看到我的推送通知服务不适用于ios设备,但适用于android。。有人能告诉我问题出在哪里吗?我做错了吗?
- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;