ええ、私が理解しているあなたの最善の策は、地面の方向を決定するために加速度計を使用することです。
このようなものを使用してください...
mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
accelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
onCreateメソッドに、これを入れます
mSensorManager.registerListener(this, accelerometer, SensorManager.SENSOR_DELAY_NORMAL);
onResumeとこれで更新を処理します
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
float xAcceleration = event.values[0];
float yAcceleration = event.values[1];
float zAcceleration = event.values[2];
次に、これらの加速度の値を使用して、地面の方向を決定します。:-)私はその方法がはるかに流動的であると思います、私はそれが役立つことを願っています。:-)
詳細については、以下を確認してください:
http: //developer.android.com/reference/android/hardware/SensorEvent.html#values