그래서 안드로이드 기반 전화가 틸트 기반 프로그램을위한 x, y, z 방향으로 회전했을 때 나는 방향을 찾기 위해 자력과 가속을 사용하는 잘 순환 된 코드를 사용했는지 알아야했습니다. 방향 탐지기가 신뢰할 수 없기 때문에 이것은 x, z 평면에서 잘되고 좋았지 만 사용자가 고정 된 가로 위치에서 휴대 전화를 들고 순환 이동하는 버스에 있었고 사용자가 y 방향 이동을 등록한 경우에도 안드로이드는 y 방향 움직임을 등록합니다 didnt는 y 방향으로 자신의 휴대폰을 이동하므로 프로그램이 실패하지만 단지 혼자서도 isn/t 정확도를 사용하지 않고 사용자와 관련된 y- 움직임을 감지하는 문제를 해결하는 방법을 궁금합니다.안드로이드 방향 탐지 피부
public class MotionListener {
String service_name = Context.SENSOR_SERVICE;
SensorManager sensorManager;
Sensor sensor;
public MotionListener(Context context) {
sensorManager = (SensorManager) context.getSystemService(service_name);
SensorManager sm = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
Sensor aSensor = sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
Sensor mfSensor = sm.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
sm.registerListener(myAccelerometerListener, aSensor, SensorManager.SENSOR_DELAY_GAME);
sm.registerListener(myMagneticFieldListener, mfSensor, SensorManager.SENSOR_DELAY_GAME);
}
float[] accelerometerValues;
float[] magneticFieldValues;
final SensorEventListener myAccelerometerListener = new SensorEventListener() {
public void onSensorChanged(SensorEvent sensorEvent) {
if (sensorEvent.sensor.getType() == Sensor.TYPE_ACCELEROMETER)
accelerometerValues = sensorEvent.values;
float[] values = new float[3];
float[] R = new float[9];
try {
SensorManager.getRotationMatrix(R, null, accelerometerValues, magneticFieldValues);
SensorManager.getOrientation(R, values);
values[0] = (float) ((float) values[0] * 180/Math.PI);
values[1] = (float) ((float) values[1] * 180/Math.PI);
values[2] = (float) ((float) values[2] * 180/Math.PI);
System.out.println((int)values[0] + " " + (int)values[1] + " " + (int)values[2]);
setTiltCoordinates(values);
} catch (NullPointerException e) {
}
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
};
불가능 - 사용자의 방향을 기기에 제공하지 않음 - 완전히 다른 질문입니다. – KevinDTimm
아니요. 그것을 할 수 없습니다. [참조 프레임] (http://en.wikipedia.org/wiki/Frame_of_reference) 등. 사용자로서 이러한 조건에서 이러한 응용 프로그램을 사용하려고 시도하는 것은 어쨌든 무의미한 연습입니다. – Cheezmeister
+1 나는 똑같이 찾고있다. – Sameer