gpt4 book ai didi

ios - 对我应该观察哪些应用程序状态通知感到困惑

转载 作者:行者123 更新时间:2023-11-28 05:47:08 31 4
gpt4 key购买 nike

我的应用是一款使用语音和视频的直播应用。我想:

  1. 检测用户何时通过应用调出通知中心/控制中心
  2. 检测用户何时收到某种全屏通知,例如电池电量不足
  3. 检测用户何时接到电话
  4. 检测用户何时按下主页按钮以使应用后台运行
  5. 检测应用何时终止。

对于应该观察哪些通知来检测这些事件,我有点困惑。

我的猜测是:

  1. .willResignActiveNotification
  2. .willResignActiveNotification
  3. .willResignActiveNotification.didEnterBackgroundNotification?
  4. .didEnterBackgroundNotification
  5. .willTerminateNotification

为了检测应用程序何时恢复到事件状态 1 到 4,我需要 .didBecomeActiveNotification

这样对吗?哪个是 3 号?

最佳答案

是的,您应该观察.willResignActiveNotification,因为您的应用程序仍然存在于iOS 的电话应用程序之下,当有来电时iOS 会显示该应用程序。 .didEnterBackgroundNotification 不会在来电时触发,当您按下主页按钮时会触发。

现在,一旦您通过拒绝或结束通话完成通话,iOS 的 Phone Application 将从顶部删除并使您的应用程序处于事件状态。因此,您可以在所有情况下观察 .didBecomeActiveNotification

您还可以在创建新项目时检查 Xcode 提供的方法中的注释行。查看 AppDelegate.swift 以了解差异

func applicationWillResignActive(_ application: UIApplication) {
// Sent when the application is about to move from active to inactive state.
// This can occur for certain types of temporary interruptions
// **(such as an incoming phone call or SMS message)**
// or when the user quits the application and
// it begins the transition to the background state.
// Use this method to pause ongoing tasks, disable timers,
// and invalidate graphics rendering callbacks.
// Games should use this method to pause the game.
}

func applicationDidEnterBackground(_ application: UIApplication) {
// Use this method to release shared resources, save user data,
// invalidate timers, and store enough application state information to
// restore your application to its current state in case it is terminated later.
// If your application supports background execution,
// this method is called instead of applicationWillTerminate: when the user quits.
}

用你的案例总结一下:

  1. 检测用户何时接到电话

    only .willResignActiveNotification will be fired.

  2. 检测用户何时按下主页按钮以使应用后台运行

    both .willResignActiveNotification and .didEnterBackgroundNotification will be fired respectively.

希望对您有所帮助。

关于ios - 对我应该观察哪些应用程序状态通知感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54253775/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com