本文实例讲述了Android开发获取重力加速度和磁场强度的方法。分享给大家供大家参考,具体如下:
Android获取重力加速度和磁场强度主要依靠:
Sensor.getRotationMatrix (float[] R, float[] I, float[] gravity, float[] geomagnetic)
输入数据:
gravity为重力传感器测得的重力加速度float[3];
geomagnetic为罗盘传感器测得的地磁数据float[3];
输出数据:
R为通过这个方法计算得到的从手机的设备到坐标系到真实世界坐标系的转换矩阵
I为从将地磁数据转换到重力数据所在坐标的旋转矩阵
[0 0 g] = R * gravity (g = 重力加速度)
[0 m 0] = I * R * geomagnetic (m = 磁场强度)
下面是我做的结果图
核心部分代码如下:
public class MainActivity extends AppCompatActivity implements SensorEventListener {
private static final String TAG = "CompassActivity";
private SensorManager sensorManager;
//记