Я работаю с датчиками Android. <sensor.h>
имеет:Сенсорный датчик Android 3?
enum {
ASENSOR_TYPE_ACCELEROMETER = 1,
ASENSOR_TYPE_MAGNETIC_FIELD = 2,
ASENSOR_TYPE_GYROSCOPE = 4,
ASENSOR_TYPE_LIGHT = 5,
ASENSOR_TYPE_PROXIMITY = 8
};
Когда я сбросить датчики с ASensorManager_getSensorList
на HTC EVO, я получаю:
SensorList: BMA150 3-axis Accelerometer (Bosh), 1
SensorList: AK8973 3-axis Magnetic field sensor (Asahi Kasei), 2
SensorList: AK8973 Orientation sensor (Asahi Kasei), 3
SensorList: CM3602 Proximity sensor (Capella Microsystems), 8
SensorList: CM3602 Light sensor (Capella Microsystems), 5
Когда я пересечь enums
в список, по-видимому датчик типа 3 ориентации.
Вопрос: Будет ли датчик ориентации всегда иметь тип датчика 3? Или это изменится в зависимости от производителя?
Редактировать: А вот свалка от ASUS TF-101 таблетки:
SensorList: MPL rotation vector (Invensense), 11
SensorList: MPL linear accel (Invensense), 10
SensorList: MPL gravity (Invensense), 9
SensorList: MPL Gyro (Invensense), 4
SensorList: MPL accel (Invensense), 1
SensorList: MPL magnetic field (Invensense), 2
SensorList: MPL Orientation (Invensense), 3
SensorList: Lite-On al3000a Ambient Light Sensor (Lite-On), 5
Ориентация в 3 раз, но есть несколько дополнительных датчиков.
Редактировать: А вот свалка из таблетки Зеки TBQG 1084B:
SensorList: STK831x accelerometer (Sensortek) 1 10000 1.000000
Нет ориентации (и только один датчик не является своего рода дешево, я думаю, его для игр).
это, возможно, другое, но если вы используете Sensor.TYPE_ACCELEROMETER, он будет похож, значения могут быть изменены. –