iphone - 如果应用程序长时间处于后台,则 UIAlertView 不会显示

标签 iphone ios nsnotifications

在我的(iPhone)应用程序中,我跟踪应用程序的事件时间。如果超过特定值(例如 15 分钟),登录 View 将向用户显示警报 View 。如果应用程序在后台运行的时间过长,也会出现类似的情况。然后,当应用程序再次激活时,警报 View 将呈现给用户。

但问题是,当应用程序在后台运行很长时间并且应用程序再次激活时,AlertView 不会向用户显示。我正在使用 NSNotifications 来通知 session 是否超时。

基本流程是这样的

启动应用程序 -> 将应用程序置于后台 -> applicationDidBecomeActive: -> 检查 session 是否超时 -> 显示登录 View -> 发布注销通知

接收器将显示警报 View 。我将接收逻辑放在应用程序委托(delegate)和登录 View 中。但在这两种情况下,如果警报 View 长时间处于后台,则不会显示。

我的问题是我可以延迟收到通知吗?我想在登录 View 出现后收到它。

最佳答案

接收通知是您应用程序的委托(delegate)方法,它将在实现时接收通知。但您可以设置不同的标志来检查应用程序是否处于事件状态。

例如在应用程序中将重新激活

设置标志 isActive = no;

并收到通知 检查是否处于事件状态 设置一个标志 hasReceivedNotification= YES; 并将数据存储到某个地方

并且在应用程序中确实变得活跃 检查应用程序是否处于事件状态并收到远程通知 设置第三个标志 shouldShowAlertOnLoginView = YES;//通知数据以防万一显示

并在登录 View 中检查 appDelegate.shouldShowAlertOnLoginView == YES

然后显示带有数据的警报

关于iphone - 如果应用程序长时间处于后台,则 UIAlertView 不会显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10430369/

相关文章:

iphone - 如何在 iPhone 应用程序中为弹出 View Controller 添加通知?

Iphone:将 UIImage 通过 segue 传输到另一个 Controller

iphone - 初始化方法模式

ios - 使用标题 View 自定义导航栏

ios - 使用 Facebook、Twitter 或 GMail 登录我的应用程序

xcode - NSDistributedNotifications 未在(相同)应用程序的实例之间分发

iphone - 将 AUConverter 添加到 AUGraph 时出现错误 -10877

ios - UINavigationController pushViewController 不起作用

c# - MonoTouch 的性能问题?

ios - 是否有电话状态的NSNotification