【问题标题】:Possible to receive UIAccelerometer updates when app is inactive?当应用程序处于非活动状态时可以接收 UIAccelerometer 更新吗?
【发布时间】:2009-12-07 14:56:41
【问题描述】:

当我的 iPhone 应用退出活动状态时,UIAccelerometer 的 sharedAccelerometer 单例实例停止向我的委托发送 accelerometer:didAccelerate: 消息。

是否有可能继续接收这些消息,类似于 CLLocationManagerDelegate 在应用处于非活动状态时如何继续接收更新?

如果有帮助的话,我宁愿不必完全禁用 idleTimer。

【问题讨论】:

    标签: iphone uiaccelerometer


    【解决方案1】:

    不,至少不是最新可用的 iPhone SDK 形式。

    【讨论】:

      【解决方案2】:

      我会说这是可能的,因为 this app 在 AppStore 上:

      但是,由于您的移动方式不同 在不同阶段的床上, 睡眠周期闹钟可以使用 iPhone 中的加速度计 监控您的运动并确定 你处于哪个睡眠阶段。

      我不敢相信它必须在屏幕打开的情况下运行一整夜。 编辑: 看起来必须这样做! :P


      所以他们也没有解决这个问题。那你做不到的机会就更多了……

      您是否阅读过UIAccelerometer 的文档,其中是否提到了任何内容?如果它只是停止发送加速事件,那么您无能为力。

      但是,当我的应用失去焦点(手机被锁定时)时,我会尝试再次将加速度计委托设置给我的班级。您可以从 UIApplication 获取该通知(失去焦点通知)。尝试这样做,以防应用失去焦点时加速度计的委托设置为 nil

      【讨论】:

      • 感谢您为我指明这个应用程序的方向。我下载了它并且可以确认:1)该应用程序必须整夜保持活动状态,2)您无法锁定手机,3)您被指示将手机正面朝下放在床上,4)您被指示保持手机手机连接到充电器。从本质上讲,该应用程序似乎禁用了 idleTimer 并使屏幕整夜保持活动状态。只要屏幕朝下并且手机正在充电,这不是一个大问题,但对于我的应用程序来说,充电器不太可能存在。
      • 那么,恐怕你不能做你想做的,但你可以尝试最后一件事。看看我更新的答案,祝你好运:)
      猜你喜欢
      • 1970-01-01
      • 2014-12-07
      • 2020-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-20
      • 2021-10-02
      相关资源
      最近更新 更多