나는 자연스럽게 방향이 바뀌었을 때 좌표계를 다시 매핑하려고합니다. 전화를 사용할 때 가로로 보일 때처럼 세로로 잡고있는 것처럼 동일한 값을 읽어야합니다.센서 좌표를 다시 매핑
회전이 Surface.ROTATION_90
인지 확인하고, 그렇다면 좌표계를 다시 매핑합니다.
나는 그것을 올바르게하는 법을 거의 모르고 약간의 지침을 사용할 수 있다고 인정한다.
그래서, 당신은이 두 가지 방법을 실행해야합니다
SensorManager.getRotationMatrix(inR, I, grav, mag);
SensorManager.remapCoordinateSystem(inR, SensorManager.AXIS_Y,SensorManager.AXIS_MINUS_X, outR);
이러한 방법으로 전달하는 데 무엇을 필요이야? 새로운 플로트 배열을 만든 다음 orientationsensor 데이터 만 mag 필드에 전달했습니다. 이는 작동하지 않았습니다. 그래서, 나는 가속도 센서와 자기장 센서를 등록했다. 두 사람의 데이터를 getRotatioMatrix
메소드로 보내면 항상 NullPointerException
이됩니다 (JavaDoc에서 일부 인수가 null 일 수 있다고하더라도). 심지어 각 인수에 데이터를 전달하려고 시도했지만 여전히 NullPointerException
이 있습니다.
제 질문은 getRotationMatrix 메서드에 전달해야하는 적절한 데이터는 무엇입니까?