计算设备的角度

时间:2016-11-05 20:09:01

标签: android-studio accelerometer magnetometer

我想使用加速度计和磁力计计算设备的角度,当它在左下方的底部边缘倾斜时。然后保存我收到的最高值并在TextView中显示。

这是我尝试的方式:

 public void onSensorChanged(SensorEvent event) {

    if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER)
        mGravity = event.values;
    if (event.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD)
        mGeomagnetic = event.values;
    if (mGravity != null && mGeomagnetic != null) {
        float R[] = new float[9];
        float I[] = new float[9];

        boolean success = SensorManager.getRotationMatrix(R, I, mGravity, mGeomagnetic);
        if (success) {
            float orientation[] = new float[3];
            SensorManager.getOrientation(R, orientation);
            playerAngle = (float) Math.toDegrees(orientation[3]);

            tv.setText(String.valueOf(playerAngle));


        }

0 个答案:

没有答案