【问题标题】:iPhone - Differentiate UIApplicationDidBecomeActiveNotification notificationsiPhone - 区分 UIApplication DidBecomeActiveNotification 通知
【发布时间】:2011-11-19 12:31:09
【问题描述】:

在注册 UIApplicationDidEnterBackgroundNotification 时,我注意到设备进入睡眠模式时不会触发此通知。

但是,当它唤醒时,会触发 UIApplicationDidBecomeActiveNotification 通知。从后台模式返回时也会触发。

那么我如何知道我的应用程序是从后台模式返回,还是在设备唤醒后被激活?

【问题讨论】:

    标签: iphone ios notifications sleep multitasking


    【解决方案1】:

    它们彼此不平衡;它们是针对不相关的事件发布的。我相信您在检测到您的应用从后台返回时需要UIApplicationWillEnterForegroundNotification,在检测到某些其他情况(包括睡眠)时需要UIApplicationWillResignActiveNotification

    请注意,UIApplicationWillResignActiveNotification 还会显示“来电被忽略”和“操作系统显示不属于您的进程的警报”(例如短信)等事件。

    【讨论】:

    • 好吧,这并不真正起作用,从后台返回时都会触发。
    • 当我的手机处于睡眠模式时,它仍然会收到 drawRect 更新,这会导致无用的操作和电池消耗。你会怎么处理呢?
    • 是的,您确实会在从后台返回时看到两者,但您只会看到多任务处理的 BackgroundForeground 通知。
    • 当手机处于睡眠状态时,您不会看到 -drawRect: 更新。当您按下睡眠按钮时,手机不会立即关闭。当手机真正进入睡眠状态时,您的应用确实会停止运行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-04
    • 2012-02-18
    • 1970-01-01
    • 2012-11-23
    • 1970-01-01
    • 2013-06-22
    相关资源
    最近更新 更多