Microsoft Band 2 支持的报告间隔

Supported Reporting Intervals for Microsoft Band 2

波段 1 允许设置传感器读数的报告间隔。

现在band 2,貌似只有一个支持读取间隔,而且不能更改。有谁知道:

  1. Microsoft Band 上每个传感器允许的支持报告间隔?
  2. 如何更改报告间隔?

到目前为止,作为示例,我有以下代码:

this.bandClient.SensorManager.Altimeter.ReadingChanged += this.OnAltimeterReadingChanged;

//bandClient.SensorManager.Altimeter.ReportingInterval = TimeSpan.FromMilliseconds(1000);

//get a list of available reporting intervals
IEnumerable<TimeSpan> supportedAltimeterReportingIntervals =bandClient.SensorManager.Altimeter.SupportedReportingIntervals;

foreach (var ri in supportedAltimeterReportingIntervals)
{
     Debug.WriteLine("Altimeter Reporting Interval is {0}", ri.ToString());
}

这一行:

//bandClient.SensorManager.Altimeter.ReportingInterval = TimeSpan.FromMilliseconds(1000);

Returns:

Exception thrown: 'System.ArgumentOutOfRangeException' in Microsoft.Band.ni.DLL

The enumeration of supported reporting intervals, returns: Altimeter Reporting Interval is 00:00:00.5000000 (Only 1 interval)

Band 上的每个传感器都有自己的一组受支持的报告间隔(有时只有一个受支持的间隔)。 Band 1 和 2 之间的报告间隔设置方式都没有改变。(Band 2 添加了新的传感器,例如高度计,这在 Band 1 中是不存在的。)

关于问题 #1,您可以在 documentation at the Microsoft Health development site 中找到关于每个传感器的信息。 (奇怪的是,他们将高度计列为 1Hz,但 SDK 显然返回 2Hz 作为报告间隔。)

关于问题 #2,您使用 IBandSensor.ReportingInterval = <TimeSpan> 设置报告间隔,其中 TimeSpanIBandSensor.SupportedReportingIntervals 中的值之一。

在您的示例代码中,您试图将高度计传感器设置为以不受支持的间隔进行报告,这就是您看到异常的原因。