Как перехватить наклон в Android?
Я хотел бы написать программу с использованием функции наклона в Android.
Есть ли способ перехватить это? Что мне вернуть? вектор, указывающий направление наклона?
2 ответа
Главное, чтобы обдумать это понятие слушателя. В Android нет метода под названием getXtilt()
, getYtilt()
и т.д., чтобы получить ориентацию. Вместо этого вам нужно создать слушателя, которого вы зарегистрируете в системе.
Посмотри на это.
Увидеть onSensorChanged(SensorEvent event)
метод? Система Android будет вызывать этот метод каждый раз при смене датчика (что очень часто). В этом случае это будет TYPE_ACCELEROMETER
показания датчика вы будете получать.
Поэтому, когда вы получите событие EventE SensorEvent, посмотрите на event.values[]
массив. Он будет содержать показания датчика. В примере кода в документе Android они регистрируют Sensor.TYPE_ACCELEROMETER
, Вы должны зарегистрировать
Sensor.TYPE_ORIENTATION
, Посмотрите на массив значений для Sensor.TYPE_ORIENTATION
, Это значения наклона, которые вы ищете.
надеюсь, это поможет
Похоже, вам придется использовать акселерометр и интерпретировать значения, а затем принять решение на их основе. Посмотрите SensorEventListener, и он должен направить вас в правильном направлении.