SensorEvent.Values 属性

定义

数组的 #values values 长度和内容取决于 android.hardware.Sensor sensor 要监视的类型(另 SensorEvent 请参阅所使用的坐标系的定义)。

[Android.Runtime.Register("values")]
public System.Collections.Generic.IList<float>? Values { get; set; }
[<Android.Runtime.Register("values")>]
member this.Values : System.Collections.Generic.IList<single> with get, set

属性值

属性

注解

数组的 #values values 长度和内容取决于 android.hardware.Sensor sensor 要监视的类型(另 SensorEvent 请参阅所使用的坐标系的定义)。

<h4>android.hardware.Sensor#TYPE_ACCELEROMETER Sensor.TYPE_ACCELEROMETER:</h4> 所有值均采用 SI 单位(m/s^2)

<ul>li values[0]: Acceleration minus Gx on the x-axis </li li><> values[1]: Acceleration 减 Gy on the y-axis /li><li> values[2]: Acceleration minus Gz on the z-axis <</li></ul><>

此类型的传感器测量应用于设备的加速(<b>Ad</b>)。 从概念上讲,它通过使用关系测量应用于传感器本身(<b>Fs</b>)的力来执行此操作:

<b><center>Ad = - ∑Fs / mass</center></b>

特别是重力力总是影响测量的加速:

<b><center>Ad = -g - ∑F / 质量</中心></b>

因此,当设备坐在桌子上(显然没有加速),加速计读取 b>g</b> = 9.81 m/s^2 的震级<

同样,当设备处于自由坠落状态,因此危险地加速到地面时,其加速计读取的震级为 0 米/秒^2。

应该很明显,为了测量设备的实际加速,必须消除重力的贡献。 这可以通过应用 高通 筛选器来实现。 相反, 低通 过滤器可用于隔离重力力。

public void onSensorChanged(SensorEvent event)
                {
                     // alpha is calculated as t / (t + dT)
                     // with t, the low-pass filter's time-constant
                     // and dT, the event delivery rate

                     final float alpha = 0.8;

                     gravity[0] = alpha * gravity[0] + (1 - alpha) * event.values[0];
                     gravity[1] = alpha * gravity[1] + (1 - alpha) * event.values[1];
                     gravity[2] = alpha * gravity[2] + (1 - alpha) * event.values[2];

                     linear_acceleration[0] = event.values[0] - gravity[0];
                     linear_acceleration[1] = event.values[1] - gravity[1];
                     linear_acceleration[2] = event.values[2] - gravity[2];
                }

<u>示例</u>: <ul><li>当设备位于桌子上,并将其左侧向右推送时,x 加速值为正值。</李>

<li>当设备平躺在桌子上时,加速值为 +9.81,对应于设备(0 m/s^2)的加速减去重力(-9.81 m/s^2)。</李>

<li>当设备平躺在桌子上,并被推向天空与 A m/s^2 的加速,加速值等于 A+9.81,对应于设备的加速(+A m/s^2)减去重力(-9.81 m/s^2)。</li></ul>

<h4>android.hardware.Sensor#TYPE_MAGNETIC_FIELD Sensor.TYPE_MAGNETIC_FIELD:</h4> 所有值都在微特斯拉(uT)中,测量 X、Y 和 Z 轴中的环境磁场。

<h4:</h4>>android.hardware.Sensor#TYPE_GYROSCOPE Sensor.TYPE_GYROSCOPE 所有值均以弧度/秒为单位,测量设备本地 X、Y 和 Z 轴的旋转速率。 坐标系与用于加速传感器的坐标系相同。 旋转是逆时针方向的正值。 也就是说,如果设备似乎顺时针旋转,则观察者从位于原点的设备上的 x、y 或 z 轴上的某个正位置进行观察将报告正旋转。 请注意,这是正旋转的标准数学定义,与前面给出的滚动的定义不一致。 <ul>li values[0]: Angular speed around the x-axis /li li><> values[1]: Angular speed around the y-axis </li li> values[2]: Angular speed around the z-axis <</li><></ul><>

通常,陀螺仪的输出随着时间推移而集成,用于计算描述时间步骤角度变化的旋转,例如:

private static final float NS2S = 1.0f / 1000000000.0f;
                private final float[] deltaRotationVector = new float[4]();
                private float timestamp;

                public void onSensorChanged(SensorEvent event) {
                     // This time step's delta rotation to be multiplied by the current rotation
                     // after computing it from the gyro sample data.
                     if (timestamp != 0) {
                         final float dT = (event.timestamp - timestamp) * NS2S;
                         // Axis of the rotation sample, not normalized yet.
                         float axisX = event.values[0];
                         float axisY = event.values[1];
                         float axisZ = event.values[2];

                         // Calculate the angular speed of the sample
                         float omegaMagnitude = sqrt(axisX*axisX + axisY*axisY + axisZ*axisZ);

                         // Normalize the rotation vector if it's big enough to get the axis
                         if (omegaMagnitude > EPSILON) {
                             axisX /= omegaMagnitude;
                             axisY /= omegaMagnitude;
                             axisZ /= omegaMagnitude;
                         }

                         // Integrate around this axis with the angular speed by the time step
                         // in order to get a delta rotation from this sample over the time step
                         // We will convert this axis-angle representation of the delta rotation
                         // into a quaternion before turning it into the rotation matrix.
                         float thetaOverTwo = omegaMagnitude * dT / 2.0f;
                         float sinThetaOverTwo = sin(thetaOverTwo);
                         float cosThetaOverTwo = cos(thetaOverTwo);
                         deltaRotationVector[0] = sinThetaOverTwo * axisX;
                         deltaRotationVector[1] = sinThetaOverTwo * axisY;
                         deltaRotationVector[2] = sinThetaOverTwo * axisZ;
                         deltaRotationVector[3] = cosThetaOverTwo;
                     }
                     timestamp = event.timestamp;
                     float[] deltaRotationMatrix = new float[9];
                     SensorManager.getRotationMatrixFromVector(deltaRotationMatrix, deltaRotationVector);
                     // User code should concatenate the delta rotation we computed with the current
                     // rotation in order to get the updated rotation.
                     // rotationCurrent = rotationCurrent * deltaRotationMatrix;
                }

在实践中,陀螺仪噪音和偏移将引入一些需要补偿的错误。 这通常是使用来自其他传感器的信息完成的,但超出了本文档的范围。

<h4>android.hardware.Sensor#TYPE_LIGHT Sensor.TYPE_LIGHT:</h4><ul><li>值[0]:SI 照度单位 </li></ul 中的环境光级别>

<h4>android.hardware.Sensor#TYPE_PRESSURE Sensor.TYPE_PRESSURE:</h4><ul><li>值[0]:hPa(millibar) </li></ul 中的大气压力>

<h4>android.hardware.Sensor#TYPE_PROXIMITY Sensor.TYPE_PROXIMITY: </h4>

<ul><li>值[0]: 以厘米 /li<>/ul 为单位测量的<邻近感应传感器距离>

<b>注意:</b> 某些邻近传感器仅支持二进制 远测量 。 在这种情况下,传感器应报告其android.hardware.Sensor#getMaximumRange() maximum range处于远状态的值,并报告其接近状态的较小值

<h4>android.hardware.Sensor#TYPE_GRAVITY Sensor.TYPE_GRAVITY:</h4>

一个三维向量,指示重力的方向和数量级。 单位为 m/s^2。 坐标系与加速传感器使用的坐标系相同。

<b>注意:</b> 当设备处于静止状态时,重力传感器的输出应与加速计输出相同。

<h4>android.hardware.Sensor#TYPE_LINEAR_ACCELERATION Sensor.TYPE_LINEAR_ACCELERATION: </h4> 指示沿每个设备轴加速的三维矢量,不包括重力。 所有值都具有 m/s^2 的单位。 坐标系与加速传感器使用的坐标系相同。

加速计、重力和线性加速传感器的输出必须遵循以下关系:

<ul>加速 = 重力 + 线性加速</ul>

<h4>android.hardware.Sensor#TYPE_ROTATION_VECTOR Sensor.TYPE_ROTATION_VECTOR:</h4>

旋转向量将设备的方向表示为角度和的组合,其中设备通过角度 -#952 围绕轴旋转x、y、z>.

旋转矢量的三个元素是

</p>旋转向量的三个元素等于 b>单位</b> 四元数 < 的最后三个<组件cos(θ/2)、x*sin(&θ/2)、y*sin(θ/2)、z*sin(θ/2)。></p>

旋转向量的元素是无单位的。 x、y 和 z 轴的定义方式与加速传感器相同。

引用坐标系定义为直接正交基,其中: </p>

<ul><li>X 被定义为向量积 <b>Y.Z</b>(它是与设备当前位置和大致指向东点的地面相切)。</li li><>Y 在设备的当前位置与地面相切,指向磁北。</li li><>Z 指向天空,并垂直于地面。</li></ul>

<center><img src=“../../../images/axis_globe.png“alt=”World coordinate-system diagram.” border=“0” /></center>

<ul>li values[0]: x*sin(θ/2) </li li>>< values[1]: y*sin(θ/2) /li<>li> values[2]: z*sin() <952/2) </li li><> values[3]: cos(θ/2) </li li>>< values[4]: estimated heading Accuracy (in radians) (-1 if unavailable)</li></ul><>

values[3],最初是可选的,从 SDK 级别 18 开始始终存在。 values[4] 是 SDK 级别 18 中添加的新值。

<h4>android.hardware.Sensor#TYPE_ORIENTATION Sensor.TYPE_ORIENTATION:</h4> 所有值都是角度(以度为单位)。

<ul><li> values[0]: Azimuth,磁北方向和 y 轴之间的角度,围绕 z 轴 (0 到 359)。 0=North, 90=East, 180=South, 270=West </p>

values[1]: 在 x 轴(-180 到 180)周围旋转,当 z 轴向< y 轴移动 <b>时>,其正值。

values[2]:在设备顺时针移动时,在 y 轴(-90 至 90)周围旋转。

</ul>

<b>注意:</b> 此定义不同于 <航空中使用的 b>偏航、俯仰和滚/<b> ,其中 X 轴沿飞机的长侧(尾到鼻子)。

<b>注意:</b> 此传感器类型存在,原因为旧原因,请 android.hardware.Sensor#TYPE_ROTATION_VECTOR rotation vector sensor type 改用和 android.hardware.SensorManager#getRotationMatrix getRotationMatrix() 结合 android.hardware.SensorManager#remapCoordinateSystem remapCoordinateSystem() 这些 android.hardware.SensorManager#getOrientation getOrientation() 值并计算这些值。

<b>重要说明:</b> 由于历史原因,滚动角度在顺时针方向是正的(从数学上讲,它应该是逆时针方向的正值)。

<h4>android.hardware.Sensor#TYPE_RELATIVE_HUMIDITY Sensor.TYPE_RELATIVE_HUMIDITY:</h4><ul><li> 值[0]:相对环境空气湿度百分比 </li></ul>

测量相对环境空气湿度和环境温度时,可以计算露点和绝对湿度。

<u>Dew Point</u>

露点是给定的空气包裹必须冷却到的温度,以恒定的大气压力,使水蒸汽凝结成水。

center

ln(RH/100%) + m&#183;t/(T<sub>n</sub>+t)
            t<sub>d</sub>(t,RH) = T<sub>n</sub> &#183; ------------------------------
                            m - [ln(RH/100%) + m&#183;t/(T<sub>n</sub>+t)]

</center><dl><dt>t<sub>d</sub></dt><dd>dew point temperature in°C</dd<>dt t</dt>><dd>实际温度在 °C</dd<>dt>RH</dt><dd>实际相对湿度在 %</dd<>dt>m</dt<>dd>17.62</dd><dt>T<sub>n</sub></dt><dd dd>243.12 °C</dd></dl>

例如:

h = Math.log(rh / 100.0) + (17.62 * t) / (243.12 + t);
            td = 243.12 * h / (17.62 - h);

<u>绝对湿度</u>

绝对湿度是特定体积干燥空气中的水蒸汽量。 单位为 g/m<sup>3</sup>。

center

RH/100%&#183;A&#183;exp(m&#183;t/(T<sub>n</sub>+t))
            d<sub>v</sub>(t,RH) = 216.7 &#183; -------------------------
                                      273.15 + t

</center><dl><dt>d<sub>v</sub></dt<>dd>绝对湿度在 g/m<sup 3</sup>></dd dt>t</dt<>dd><>实际温度在 °C</dd<>dt>RH</dt><dd>实际相对湿度在 %</dd<>dt>m</dt<>dd>17.62</dd><dt>T<sub>n</sub></dt><dd dd>243.12 °C</dd><dt A</dt>><dd>6.112 hPa</dd></dl>

例如:

dv = 216.7 *
            (rh / 100.0 * 6.112 * Math.exp(17.62 * t / (243.12 + t)) / (273.15 + t));

<h4>android.hardware.Sensor#TYPE_AMBIENT_TEMPERATURE Sensor.TYPE_AMBIENT_TEMPERATURE: </h4>

<ul><li> values[0]: ambient (room) temperature in Degreeus.</li></ul>

<h4>android.hardware.Sensor#TYPE_MAGNETIC_FIELD_UNCALIBRATED Sensor.TYPE_MAGNETIC_FIELD_UNCALIBRATED:</h4> 类似于 android.hardware.Sensor#TYPE_MAGNETIC_FIELD,但硬铁校准单独报告,而不是包含在测量中。 工厂校准和温度补偿仍将应用于“未校准”的测量。 假设磁场是由于地球的极点造成的。

值数组如下所示:ul>li values[0] = x_uncalib /li li values[1] = y_uncalib <</li><li> values[2] = z_uncalib </>><li><> li values[3] = x_bias </>><li li values[4] = y_bias </li li> values[5] = z_bias </li<><>/ul><<>

x_uncalib、y_uncalib、z_uncalib是 X、Y、Z 轴中的测量磁场。 应用软铁和温度校准。 但硬铁校准没有应用。 这些值在微特斯拉(uT)中。

x_bias、y_bias、z_bias提供 X、Y、Z 轴中估计的铁偏差。 每个字段都是估计硬铁校准的一个组成部分。 这些值在微特斯拉(uT)中。

硬铁 - 这些失真是由于设备上的磁化铁、钢铁或永久磁铁引起的。 软铁 - 这些失真是由于与地球磁场的相互作用引起的。

<h4>android.hardware.Sensor#TYPE_GAME_ROTATION_VECTOR Sensor.TYPE_GAME_ROTATION_VECTOR:</h4> 相同 android.hardware.Sensor#TYPE_ROTATION_VECTOR ,只不过它不使用地磁字段。 因此,Y 轴不指向北点,而是指向其他引用,该引用允许沿 Z 轴的陀螺仪偏移按与陀螺仪偏移相同的数量级。

在理想情况下,手机旋转并返回相同的真实方向将报告相同的游戏旋转矢量(不使用地球的地磁场)。 但是,方向可能会随着时间推移而稍有偏差。 有关值的详细说明,请参阅 android.hardware.Sensor#TYPE_ROTATION_VECTOR 。 此传感器不会具有估计的标题准确性值。

<h4>android.hardware.Sensor#TYPE_GYROSCOPE_UNCALIBRATED Sensor.TYPE_GYROSCOPE_UNCALIBRATED:</h4> 所有值均以弧度/秒为单位,并测量围绕 X、Y 和 Z 轴的旋转速率。 还会报告每个轴上的偏移估计。

不执行陀螺偏移补偿。 工厂校准和温度补偿仍应用于旋转速率(角速度)。

坐标系与用于 android.hardware.Sensor#TYPE_ACCELEROMETER 旋转的坐标系统相同,在逆时针方向(右侧规则)中是正的。 也就是说,如果设备似乎顺时针旋转,则观察者从位于原点的设备上的 x、y 或 z 轴上的某个正位置进行观察将报告正旋转。 范围至少为 17.45 rad/s(即:~1000 deg/s)。 <ul>li values[0] : rad/s /li li<>> values[1] 中 X 轴周围的角速度(w/o 偏移补偿):rad/s <</li<>中 Y 轴周围的角速度(w/o 偏移补偿) li> values[2] : rad/s </li li><> values[3] 中 Z 轴周围的角速度(w/o 偏移补偿):rad/s </li li>>< values[4] 中 X 轴的估计偏移值[4] :>< rad/s </li li>>< 值中 Y 轴的估计偏移[5] :rad/s </li></ul 中 Z 轴的估计偏移>

<b>Pro Tip:</b> 始终在对数组执行操作时使用值数组的长度。 在早期版本中,这始终为 3,现已更改。

<h4>android.hardware.Sensor#TYPE_POSE_6DOF Sensor.TYPE_POSE_6DOF:</h4>

TYPE_POSE_6DOF事件由以四元数表示的旋转和以 SI 单位表示的翻译组成。 该事件还包含一个增量旋转和翻译,显示设备姿势自上一个序列号的姿势以来的变化。 该事件使用规范 Android 传感器轴。

<ul>li values[0]: x*sin(θ/2) </li li> values[1]: y*sin(θ/2) </li>><<> li values[2]: z*sin(θ/2) </li><li> values[3]: cos(θ/2) /li li values[3]: cos(#952/2) </li li><>

<li> values[4]:从任意原点沿 x 轴进行平移。 </li><li> 值[5]:从任意原点沿 y 轴平移。 </li><li> 值[6]:从任意原点沿 z 轴平移。 </李>

<li> values[7]: Delta quaternion rotation x*sin(θ/2) </li li><> values[8]: Delta quaternion rotation y*sin(θ/2) </li><li> values[9]: Delta quaternion rotation z*sin(θ/2) </li li<>> values[10]: Delta quaternion rotation cos(θ/2) </li>

<li> values[11]:沿 x 轴进行增量转换。 </li><li> values[12]:沿 y 轴的增量转换。 </li><li> 值[13]:沿 z 轴的增量转换。 </李>

<li> values[14]: 序列号 </li>

</ul>

<h4>android.hardware.Sensor#TYPE_STATIONARY_DETECT Sensor.TYPE_STATIONARY_DETECT:</h4>

如果设备已固定至少 5 秒且最大延迟为 5 秒,则会生成TYPE_STATIONARY_DETECT事件。 例如:设备在静态时可能需要 5 到 10 秒的任意时间才能触发此事件。

唯一允许的值为 1.0。

<ul><li> values[0]: 1.0 </li></ul>

<h4>android.hardware.Sensor#TYPE_MOTION_DETECT Sensor.TYPE_MOTION_DETECT:</h4>

如果设备运动至少 5 秒,则生成TYPE_MOTION_DETECT事件,最大延迟为 5 秒。 例如:设备在静态时可能需要 5 到 10 秒的任意时间才能触发此事件。

唯一允许的值为 1.0。

<ul><li> values[0]: 1.0 </li></ul>

<h4>android.hardware.Sensor#TYPE_HEART_BEAT Sensor.TYPE_HEART_BEAT:</h4>

每次检测到心跳峰值时,此类型的传感器都会返回一个事件。

此处的峰值理想地对应于 ECG 信号 QRS 复杂体中的正峰值。

<ul><li> values[0]: confidence</li></ul>

置信度值为 0.0 表示完全不确定性 - 峰值可能与其他地方一样处于指示时间戳。 置信度值为 1.0 表示完全是完全的 - 峰值完全不可能位于 QRS 复杂位置。

<h4>android.hardware.Sensor#TYPE_LOW_LATENCY_OFFBODY_DETECT Sensor.TYPE_LOW_LATENCY_OFFBODY_DETECT:</h4>

此类型的传感器每次设备从身体外转换到身体外和从身体到身体外时(例如,从手腕中删除可穿戴设备)都会触发指示身体外转换的事件。 返回的事件将包含一个值来指示非正文状态:

<ul><li> values[0]: off-body state</li></ul>

非正文状态的有效值:ul>li 1.0(设备在正文上)</li li><> 0.0(设备为 off-body)</li<>/ul><<>

激活此类型的传感器时,它必须在激活传感器的 5 秒内提供表示当前设备状态的初始身体或离体事件。

此传感器必须能够在从身体中删除的设备 1 秒内检测并报告身体到身体外转换,并且必须在设备放回身体的 5 秒内检测和报告身体外转换。

<h4>android.hardware.Sensor#TYPE_ACCELEROMETER_UNCALIBRATED Sensor.TYPE_ACCELEROMETER_UNCALIBRATED:</h4> 所有值均采用 SI 单位(m/s^2)

与工厂 android.hardware.Sensor#TYPE_ACCELEROMETER校准和温度补偿类似,仍将应用于“未校准”的测量。

值数组如下所示:ul>li values[0] = x_uncalib无偏差补偿 </li li values[1] = y_uncalib无偏差补偿 </li<>li> values[2] = z_uncalib无偏差补偿 </>><li><> li values[3] = estimated x_bias </li><li> values[4] = estimated y_bias </li li values[5] = estimated z_bias </li><><>/ul><<>

x_uncalib、y_uncalib、z_uncalib是 X、Y、Z 轴的测量加速,类似于 android.hardware.Sensor#TYPE_ACCELEROMETER,没有任何偏差修正(允许工厂偏差补偿和任何温度补偿)。 x_bias,y_bias,z_bias是估计的偏见。

<h4>android.hardware.Sensor#TYPE_HINGE_ANGLE Sensor.TYPE_HINGE_ANGLE:</h4>

此类型的传感器测量设备两个整部分之间的角度(以度为单位)。 预计此传感器类型测量的铰链移动将改变用户可能与设备交互的方式,例如展开或显示显示器。

<ul><li> values[0]: 度量的铰链角度介于 0 到 360 度(含</li></ul)>

<h4>android.hardware.Sensor#TYPE_HEAD_TRACKER Sensor.TYPE_HEAD_TRACKER:</h4>

此类型的传感器测量用户头部相对于任意参考帧的方向以及旋转速率。

此传感器生成的事件遵循特殊的以头部为中心的坐标框,其中:ul>li X 轴穿过用户的耳朵,正 X 方向从用户的右耳</li<>> Y 轴交叉从用户的头部背面穿过鼻子,正方向从鼻子延伸出来,><< 和 X/Y 平面名义上与地面平行时,用户直立,直<视/li>>< Z 轴交叉从颈部穿过用户的头部顶部,正方向从头部</li></ul 的顶部延伸出来>

在 Euler 矢量表示形式中提供数据,该向量的方向指示旋转轴和数量级指示围绕该轴旋转的角度(以弧度为单位)。

前三个元素提供从(任意,可能缓慢偏移)引用帧到头帧的转换。 此向量的大小在范围 [0, π] 弧度中,而各个轴的值在范围 [-π, π] 中。 接下来的三个元素可以选择提供用户头部相对于自身(以弧度/秒为单位)的估计旋转速度。 如果给定的传感器不支持确定速度,则这些元素设置为 0。

<ul>li values[0] : 代表旋转/li li> values[1] 的 Euler 矢量的 X 分量[1] : 代表旋转的 Euler 矢量的 Y 分量/li><> 值[2] : 代表旋转<<的 Euler 矢量的 Z 分量/li><<>li> values[3] : 代表角速度的 Euler 矢量<的 X 分量(如果受支持,则为 0)</li li>><><values[4] : 表示角速度的 Euler 矢量的 Y 分量(如果受支持,则为 0)</li li><> values[5] : 表示角速度的 Euler 矢量的 Z 分量(如果受支持,则为 0)</li></ul>

<h4>android.hardware.Sensor#TYPE_ACCELEROMETER_LIMITED_AXES Sensor.TYPE_ACCELEROMETER_LIMITED_AXES: </h4> 等效于TYPE_ACCELEROMETER,但支持不支持一两个轴的情况。

最后三个值表示是否支持给定轴的加速值。 值为 1.0 表示支持坐标轴,而值为 0 表示它不受支持。 应在生成时确定支持的轴,这些值在运行时不会更改。

不支持的轴的加速值设置为 0。

类似于 android.hardware.Sensor#TYPE_ACCELEROMETER

<ul>li values[0]: Acceleration 减 Gx on x-axis (if supported)</li li><> values[1]: Acceleration 减 Gy on the y-axis (if supported)</li<>li> values[2]: Acceleration z 轴上的减 Gz (如果支持)</li li>>< 值[3]: x 轴</li><> 值支持的加速[4]: y 轴</li<>li> 值支持的加速[5]:>< z 轴</li></ul 支持的加速>

<h4>android.hardware.Sensor#TYPE_GYROSCOPE_LIMITED_AXES Sensor.TYPE_GYROSCOPE_LIMITED_AXES: </h4> 等效于TYPE_GYROSCOPE,但支持不支持一两个轴的情况。

最后三个值表示是否支持给定轴的角速度值。 值为 1.0 表示支持坐标轴,而值为 0 表示它不受支持。 应在生成时确定支持的轴,这些值在运行时不会更改。

不支持的轴的角速度值设置为 0。

类似于 android.hardware.Sensor#TYPE_GYROSCOPE

<ul>li values[0]: Angular speed around the x-axis (if supported)</li<>li> values[1]: Angular speed around the y-axis (if supported)</li<>values>[2]: Angular speed around the z-axis (if if supported)</li<>li> values[3]: x 轴</li<>li> 值支持的 Angular 速度[4]:y 轴/li><> 值支持的 Angular 速度[5]:z< 轴</li></ 支持的 Angular 速度><ul>

<h4>android.hardware.Sensor#TYPE_ACCELEROMETER_LIMITED_AXES_UNCALIBRATED Sensor.TYPE_ACCELEROMETER_LIMITED_AXES_UNCALIBRATED: </h4> 等效于TYPE_ACCELEROMETER_UNCALIBRATED,但支持不支持一两个轴的情况。

最后三个值表示是否支持给定轴的加速值。 值为 1.0 表示支持坐标轴,而值为 0 表示它不受支持。 应在生成时确定支持的轴,这些值在运行时不会更改。

不支持的轴的加速值和偏差值设置为 0。

<ul>li values[0]: x_uncalib无偏差补偿(如果受支持)</li li>>< values[1]: y_uncalib无偏差补偿(如果受支持)</li><li> values[2]: z_uncalib无偏差补偿(如果受支持)<//li><li> values[3]: estimated x_bias (if supported)</li li> values[4]: estimated y_bias (if supported)</li><<>li> values[5]: estimated z_bias (if supported)</li><><li> values[6]: x 轴</li li><> 值支持的加速[7]: y 轴/li 值支持的加速[8]: z< 轴</li>><></ul 支持的加速>

<h4>android.hardware.Sensor#TYPE_GYROSCOPE_LIMITED_AXES_UNCALIBRATED Sensor.TYPE_GYROSCOPE_LIMITED_AXES_UNCALIBRATED: </h4> 等效于TYPE_GYROSCOPE_UNCALIBRATED,但支持不支持一两个轴的情况。

最后三个值表示是否支持给定轴的角速度值。 值为 1.0 表示支持坐标轴,而值为 0 表示它不受支持。 应在生成时确定支持的轴,这些值在运行时不会更改。

不支持的轴的角速度值和偏移值设置为 0。

<ul>li 值[0]: X 轴周围的 Angular 速度(w/o 偏移补偿)(如果受支持)</li li><> 值[1]: Y 轴周围的 Angular 速度(w/o 偏移补偿)(如果受支持)</li<>li> values[2]: Z 轴周围的 Angular 速度(w/o 偏移补偿)(如果受支持)</li li><> 值[3]:X 轴的估计偏移(如果受支持)</li li>>< 值[4]:>< 估计偏移围绕 Y 轴(如果受支持)</li li<>> 值[5]:Z 轴的估计偏移(如果受支持)</li li><> 值[6]:x 轴</li<>> 值支持的 Angular 速度[7]:y< 轴/li><li> 值支持的 Angular 速度[8]:z 轴</li<>/ul></p 支持的 Angular 速度>

<h4>android.hardware.Sensor#TYPE_HEADING Sensor.TYPE_HEADING:</h4>

此类型的传感器测量设备相对于真实北度的方向。 该值必须介于 0.0(含)和 360.0 之间(独占),0 表示北部、90 东部、180 南部和 270 西部。

准确性定义为 68% 置信度。 如果假设基础分布是高斯正态,则这被视为一个标准偏差。 例如,如果标题返回 60 度,并且准确性返回 10 度,则真实标题的概率为 50 度到 70 度之间的 68%。

<ul><li> values[0]:度量的标题(以度为单位)。</li><li> 值[1]:标题精度(以度为单位)。</li></ul>

适用于 . 的 android.hardware.SensorEvent.valuesJava 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

适用于

另请参阅