public static final int ?TYPE_ACCELEROMETER = 1 加速度传感器 public static final int TYPE_MAGNETIC_FIELD = 2 磁场传感器 public static final int TYPE_ORIENTATION = 3 方向传感器 public static final int TYPE_GYROSCOPE = 4 陀螺仪传感器 public static final int TYPE_LIGHT = 5 光线传感器 public static final int TYPE_PRESSURE = 6 压力传感器 public static final int TYPE_TEMPERATURE = 7 温度传感器 public static final int TYPE_PROXIMITY = 8 距离传感器 public static final int TYPE_GRAVITY = 9 重力加速度传感器 public static final int TYPE_LINEAR_ACCELERATION = 10,线性加速度 public static final int TYPE_ROTATION_VECTOR = 11,旋转矢量 public static final int TYPE_RELATIVE_HUMIDITY = 12,相对湿度 public static final int TYPE_AMBIENT_TEMPERATURE = 13,环境温度 public static final int TYPE_MAGNETIC_FIELD_UNCALIBRATED = 14,未矫正磁场,v[0]:代表东西方向地磁分量,正负差别(没有漂移补偿);v[1]:代表南北方向地磁分量,正负差别(没有漂移补偿);v[2]:代表天方向地磁分量,手机面正反(没有漂移补偿);v[3]:围绕X轴的漂移估值(不会变化);v[4]:围绕Y轴的漂移估值(不会变化);v[5]:围绕Z轴的漂移估值(不会变化)
public static final int TYPE_GAME_ROTATION_VECTOR = 15,游戏旋转矢量传感器 public static final int TYPE_GYROSCOPE_UNCALIBRATED = 16,未校准陀螺仪?v[0]:围绕X轴的旋转角速度(没有漂移补偿),v[1]:围绕Y轴的旋转角速度(没有漂移补偿),v[2]:围绕Z轴的旋转角速度(没有漂移补偿),v[3]:围绕X轴的漂移估值(不会变化),v[4]:围绕Y轴的漂移估值(不会变化),v[5]:围绕Z轴的漂移估值(不会变化) public static final int TYPE_SIGNIFICANT_MOTION = 17,重要运动触发传感器 public static final int TYPE_STEP_DETECTOR = 18,行走检测 public static final int TYPE_STEP_COUNTER = 19,计步计 public static final int TYPE_GEOMAGNETIC_ROTATION_VECTOR = 20,地磁旋转矢量传感器 public static final int TYPE_HEART_RATE = 21,心率 传感器 public static final int TYPE_TILT_DETECTOR = 22; ?// 唤醒传感器或者叫倾斜检测传感器,每次检测到倾斜事件后均生成事件 public static final int TYPE_WAKE_GESTURE = 23; // 唤醒手势传感器,特定的动作唤醒设备 public static final int TYPE_GLANCE_GESTURE = 24;//掠过手势? 描述唤醒手势传感器的常数。 一种传感器,可以短暂打开屏幕,使用户能够根据特定的运动浏览屏幕上的内容。设备应在几分钟后关闭屏幕。当此传感器触发时,设备会立即打开屏幕,允许用户浏览通知或其他内容,同时设备仍处于非交互状态(打瞌睡)。用户可以在设备设置中停用此行为(当此传感器触发时短暂打开屏幕)。设置的更改不会影响传感器的行为:仅当框架触发时是否短暂打开屏幕。 未指定要检测的实际手势,可由设备制造商选择。此传感器必须是低功率的,因为它可能会全天候激活。不应使用此传感器创建的事件值。 ? ?? public static final int TYPE_PICK_UP_GESTURE = 25 //??拾起手势 public static final int TYPE_WRIST_TILT_GESTURE = 26 //系统级别的传感器 ,描述手腕倾斜手势传感器的常数。当设备面向用户倾斜时,会触发此类传感器。唯一允许的返回值为1.0。此传感器保持激活状态,直到禁用。 public static final int TYPE_DEVICE_ORIENTATION = 27//设备方向传感器测量设备的旋转方向 public static final int TYPE_POSE_6DOF = 28,//具有6个自由度的姿势传感器 public static final int TYPE_STATIONARY_DETECT = 29,静止状态传感器 public static final int TYPE_MOTION_DETECT = 30,运动监测 public static final int TYPE_HEART_BEAT = 31,心跳检测传感器 public static final int TYPE_DYNAMIC_SENSOR_META = 32? //??描述动态传感器元事件传感器的常数。在系统中添加或删除动态传感器时,会收到此类传感器事件。此传感器类型应始终使用特殊触发报告模式(SensorManager.REPORTING_mode_special_trigger)。 public static final int TYPE_LOW_LATENCY_OFFBODY_DETECT = 34;//?低延迟身体检测传感器
public static final int TYPE_ACCELEROMETER_UNCALIBRATED = 35; //加速度传感器(未经校准) public static final int TYPE_HINGE_ANGLE = 36; // 折叠角度传感器,Android 11新增的传感器类型 ,利用TYPE_HINGE_ANGLE 传感器,获取折叠角度
___________________________________________________________________________
其他的类型的传感器
TYPE_PEDOMETER:步程计,主要是记录走了多远(meter),当然走多远一般是根据走的步数*每步的距离;
MTK 中 虚拟陀螺仪:加速度计和磁力计结合的方法来可以模拟出陀螺仪,用加速度和磁力计就已经可以求出手机姿态;但是大部分应用中,求出旋转姿态是不够的,我们需要的是稳定并且能够快速响应的姿态,这个时候陀螺仪就派上用场了
SENSOR_STRING_TYPE_PICK_UP_GESTURE 拾起设备时触发,无论面前是什么(桌子、口袋、手提袋)。 SENSOR_STRING_TYPE_GLANCE_GESTURE 支持短暂打开屏幕,以便用户根据特定动作浏览屏幕上的内容。 SENSOR_STRING_TYPE_WAKE_GESTURE 支持根据设备特定的动作唤醒设备。 SENSOR_STRING_TYPE_TILT_DETECTOR 每次检测到倾斜事件后均生成事件。 STRING_TYPE_IN_POCKET 检测手机在口袋里面
// 获取手机支持的传感器
SensorManager mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
List<Sensor> allSensors = sm.getSensorList(Sensor.TYPE_ALL);
for (Sensor s : allSensors) {
String sensorString = "\n" + " 设备名称:" + s.getName() + "\n" + " 设备版本:" + s.getVersion() + "\n" + " 供应商:" + s.getVendor() + "\n"
+" 传感器的类型"+s.getStringType()+"\n";
Log.i("*********",sensorString);
}
|