gpt4 book ai didi

android - 如何在获得加速度计测量值的同时获得方位角!ORIENTATION vs ACCELEROMETER

转载 作者:行者123 更新时间:2023-11-29 00:46:55 28 4
gpt4 key购买 nike

我正在做这个应用程序,它的工作原理类似于计步器,但我希望它显示每一步的方向。

我正在做的是注册两个事件监听器,而不是针对每个 onsensorchanged 事件,我正在获取 sensor.TYPE_ORIENTATION 的值以获得方位角,以及 sensor.TYPE_ACCELEROMETER,我可以在其中查看是否给出了步骤。

此时我得到的值是正确的,但我只想在计步完成后达到方位角角的峰值!我该怎么做?

我假设它将在 OnSensorChanged 方法中完成,但我不知道如何在激活加速度计传感器并计算步数时调用 Orientation 传感器..

查看代码内部是这样的:在注册了两个监听器之后,ACCELEROMETERORIENTATION

OnSensorChanged(SensorEvent event)
{
if((event.sensor.getType()==Sensor.TYPE_ACCELEROMETER))

accValues=event.values;

// NOW get the orientation azimuth value at this time..
orientationValues=event.values;
}

希望有人能就此澄清我..

最佳答案

嘿,如果你想要方位角,你可以使用 ACCELEROMETERMAGNETOMETER 传感器获得它。首先获取加速度计数据和磁力计数据。接下来使用SensorManager.getRotationMatrix(Rotation_data, Inclination_data, acc_data, mag_data) 函数。您必须将 acc_datama​​g_data 作为输入,然后得到 Rotation_dataInclination_data 作为输出。最初只是将它们作为空数组传递。一旦你得到了 Rotation_data 使用 SensorManager.getOrientation(Rotation_data, angles)angles 是您作为输出获得的数组。最初也将其作为空数组传递。在函数调用之后,您将得到 angles[0] 作为方位角,angles[1] 是俯仰,angles[3] 是滚动。所有使用的数组都是 3 个元素的单维数组。

关于android - 如何在获得加速度计测量值的同时获得方位角!ORIENTATION vs ACCELEROMETER,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5891445/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com