Garmin-Watch Face:如何显示心率?
Garmin-Watchface: How to show Heartrate?
在我创建的 ConnectIQ (4.30) 表盘中,我可以显示时钟时间,但是当我尝试显示心率时出现错误
Details: Module 'Toybox.Sensor' not available to 'Watch Face'
Stack:
- onStart() at /Users/…/source/_garmin_projectAPP.mc:13 0x10000095 Permission Required
在清单中我添加了所有可用权限,我还使用
导入了传感器
using Toybox.Sensor
我也不确定在哪里启用心率传感器,例如
Sensor.setEnabledSensors([Sensor.SENSOR_HEARTRATE]);
Sensor.enableSensorEvents(method(:onSensor));
我尝试了 initialize()
和 onStart(state)
方法,但仍然出现如上所示的错误。
"watch face" 类型的 CIQ 应用程序无法以这种方式访问传感器。相反,您需要使用 Activity and/or ActivityMonitor 模块中可用的方法。
如果手表设备较新,它可能会支持调用此方法,该方法returns每秒更新一次的心率值:
Activity.getActivityInfo().currentHeartRate()
否则,您可以调用此方法并使用最近的值,即最后一分钟内的心率:
ActivityMonitor.getHeartRateHistory()
在这两种情况下,您都需要检查空值,如果传感器不可用或用户没有佩戴手表,就会发生这种情况。
在我创建的 ConnectIQ (4.30) 表盘中,我可以显示时钟时间,但是当我尝试显示心率时出现错误
Details: Module 'Toybox.Sensor' not available to 'Watch Face'
Stack: - onStart() at /Users/…/source/_garmin_projectAPP.mc:13 0x10000095 Permission Required
在清单中我添加了所有可用权限,我还使用
导入了传感器using Toybox.Sensor
我也不确定在哪里启用心率传感器,例如
Sensor.setEnabledSensors([Sensor.SENSOR_HEARTRATE]);
Sensor.enableSensorEvents(method(:onSensor));
我尝试了 initialize()
和 onStart(state)
方法,但仍然出现如上所示的错误。
"watch face" 类型的 CIQ 应用程序无法以这种方式访问传感器。相反,您需要使用 Activity and/or ActivityMonitor 模块中可用的方法。
如果手表设备较新,它可能会支持调用此方法,该方法returns每秒更新一次的心率值:
Activity.getActivityInfo().currentHeartRate()
否则,您可以调用此方法并使用最近的值,即最后一分钟内的心率:
ActivityMonitor.getHeartRateHistory()
在这两种情况下,您都需要检查空值,如果传感器不可用或用户没有佩戴手表,就会发生这种情况。