Compass.ReportInterval 属性

定义

获取或设置指南针的当前报告间隔。

public:
 property unsigned int ReportInterval { unsigned int get(); void set(unsigned int value); };
uint32_t ReportInterval();

void ReportInterval(uint32_t value);
public uint ReportInterval { get; set; }
var uInt32 = compass.reportInterval;
compass.reportInterval = uInt32;
Public Property ReportInterval As UInteger

属性值

UInt32

unsigned int

uint32_t

当前报告间隔(以毫秒为单位)。

注解

报告间隔设置为默认值,该值因传感器驱动程序的实现而异。 如果应用不想使用此默认值,则应在注册事件处理程序或调用 GetCurrentReading 之前将报告间隔设置为非零值。 然后,传感器会尝试分配资源以满足应用程序的要求,同时使用传感器平衡其他应用的需求。

在注册事件处理程序或调用 GetCurrentReading 之后对报表间隔所做的更改可能适用于后续传感器读数的传递。

相反,当应用程序使用完传感器时,它应通过将传感器设置为零,将传感器显式返回到其默认报告间隔。 这对于节电非常重要,尤其是在使用在垃圾回收之前可能使传感器对象无限期保持活动状态的语言时。

在设置报告间隔之前,应用程序应查阅 MinimumReportInterval 属性,以确保传感器可以遵循请求的报告间隔。 将值设置为低于支持的最小间隔会触发异常或具有未定义的结果。

尽管应用程序可以设置此值来请求特定的报告间隔,但驱动程序会根据内部逻辑确定实际的报告间隔。 例如,驱动程序可能使用任何调用方请求的最短报告间隔。

如果该值设置为零,则驱动程序使用其默认报告间隔。 与请求特定间隔一样,驱动程序可能会根据其他客户端请求和内部逻辑选择不同的间隔。

传感器平台根据当前报告间隔自动设置指南针的更改敏感度。 此表指定给定间隔的更改敏感度值。

当前报告间隔 更改敏感度
1 毫秒 – 16 毫秒 0.01 度
17 毫秒 – 32 毫秒 0.5 度
>= 33 毫秒 2 度

适用于