Android 传感器分类

2022年12月26日 1697点热度 0人点赞 0条评论
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传感器,获取折叠角度

<strong>其他的类型的传感器</strong>

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); 
}

路灯

这个人很懒,什么都没留下

文章评论