如果手表应用程序在后台或流动,是否有任何方法可以获取传感器数据



我正在处理手表应用程序扩展程序,其中我从所有传感器(加速度计,计步器,陀螺仪,晴雨表,位置,心率等)中收集数据,但最多为100Hz频率,但是我面临的问题是传感器在以下方案中停止提供数据:

  1. 如果我放下手臂,则传感器在那之后工作了几秒钟,传感器才能提供数据,直到我再次举起手腕。
  2. 任何时间代码执行都会停止,以免我们获取数据。

所以我使用了CMSensorRecorder类,但只有此类无法满足我们的要求。

那么,获取传感器数据的方法是什么独立于WKInterfaceController的活动/去激活状态的方法?我必须获取数据如果应用在前景状态,即活动状态或降低活性状态。

仅在应用程序进行锻炼时,允许在WatchOS上执行一个比3分钟的时间。除非您的应用程序正在进行锻炼,否则您将无法在后台获取任何传感器数据。

但是,作为WatchOS状态的官方应用程序编程指南,除非您的应用程序是锻炼应用程序,否则您不应在后台运行任何任务,所以我建议您重新考虑应用程序的工作方式。

启用位置背景模式和设置CLLocationManager.allowsBackgroundLocationUpdates = true将使您的应用程序记录传感器数据保持在后台。

最新更新