1

我已经设置了一个注册远程通知的应用程序。

- (void)application:(UIApplication*)application
didReceiveRemoteNotification:(NSDictionary *)userInfo
{    
    NSString *status = [NSString stringWithFormat:@"Notification Received:\n%@",userInfo.description];
    NSLog(@"%@",status);

    UIAlertView *alert=[[UIAlertView alloc] 
                        initWithTitle:@"didReceiveRemoteNotification" 
                        message:eventName
                        delegate:self 
                        cancelButtonTitle:@"Hide" 
                        otherButtonTitles:@"View", 
                        nil];
    alert.tag = kAlertTypeNotification;
    [alert show];
    [self vibrate];


if ( application.applicationState == UIApplicationStateActive ) {
    // app was already in the foreground
    **DO SOMETHING HERE**

}
else {
    // app was just brought from background to foreground

}
}

所以,当应用程序未激活时,我会收到非常漂亮的横幅提醒,在 iPhone 上看起来很不错。

但是,当应用程序打开时,我似乎唯一的选择是呈现一个 UIAlertView。在我看来,这是侵入性的。有没有办法在 application.applicationState == UIApplicationStateActive 时显示横幅?或者,是否有实现这种功能的开源库?

感谢你的帮助!

4

2 回答 2

1

我在这里更直接地问了这个问题:

当您的应用程序打开并在前台显示股票 iOS 通知横幅?

简短的回答是,从 iOS 9 开始,当您的应用程序处于前台时,您无法显示股票iOS 横幅。

相反,您将不得不依赖自制或第 3 部分通知横幅。

请复制此雷达请求此功能:rdar://22313177

于 2015-08-21T01:51:39.607 回答
0

当应用程序处于前台时,您可以做任何您想做的事情。谁说你必须显示 UIAlertView?

于 2012-06-13T16:51:21.857 回答