Android 获取传感器列表整理及简单实例
程序员文章站
2022-06-11 09:33:21
android 获取传感器列表整理及简单实例
android 4.4 (api等级19)支持以下传感器:
type_acceler...
android 获取传感器列表整理及简单实例
android 4.4 (api等级19)支持以下传感器:
type_accelerometer 加速度传感器,单位是m/s2,测量应用于设备x、y、z轴上的加速度 传感器类型值(sensor type):1 (0x00000001) type_ambient_temperature 温度传感器,单位是℃ 传感器类型值(sensor type): 13 (0x0000000d) type_game_rotation_vector 游戏动作传感器,不收电磁干扰影响 传感器类型值(sensor type):15 (0x0000000f) type_geomagnetic_rotation_vector 地磁旋转矢量传感器,提供手机的旋转矢量,当手机处于休眠状态时,仍可以记录设备的方位 传感器类型值(sensor type):20 (0x00000014) type_gravity 重力传感器,单位是m/s2,测量应用于设备x、y、z轴上的重力 传感器类型值(sensor type):9 (0x00000009) type_gyroscope 陀螺仪传感器,单位是rad/s,测量设备x、y、z三轴的角加速度 传感器类型值(sensor type):4 (0x00000004) type_gyroscope_uncalibrated 未校准陀螺仪传感器,提供原始的,未校准、补偿的陀螺仪数据,用于后期处理和融合定位数据 传感器类型值(sensor type):16 (0x00000010) type_light 光线感应传感器,单位lx,检测周围的光线强度 传感器类型值(sensor type):5 (0x00000005) type_linear_acceleration 线性加速度传感器,单位是m/s2,该传感器是获取加速度传感器去除重力的影响得到的数据 传感器类型值(sensor type):10 (0x0000000a) type_magnetic_field 磁力传感器,单位是ut(微特斯拉),测量设备周围三个物理轴(x,y,z)的磁场 传感器类型值(sensor type):2 (0x00000002) type_magnetic_field_uncalibrated 未校准磁力传感器,提供原始的,未校准的磁场数据 传感器类型值(sensor type):14 (0x0000000e) type_orientation 方向传感器,测量设备围绕三个物理轴(x,y,z)的旋转角度 传感器类型值(sensor type):3 (0x00000003) type_pressure 压力传感器,单位是hpa(百帕斯卡),返回当前环境下的压强 传感器类型值(sensor type):6 (0x00000006) type_proximity 距离传感器,单位是cm,用来测量某个对象到屏幕的距离 传感器类型值(sensor type):8 (0x00000008) type_relative_humidity 湿度传感器,单位是%,来测量周围环境的相对湿度 传感器类型值(sensor type):12 (0x0000000c) type_rotation_vector 旋转矢量传感器,旋转矢量代表设备的方向 传感器类型值(sensor type):11 (0x0000000b) type_significant_motion 特殊动作触发传感器 传感器类型值(sensor type):17 (0x00000011) type_step_counter 计步传感器 传感器类型值(sensor type):19 (0x00000013) type_step_detector 步行检测传感器,用户每走一步就触发一次事件 传感器类型值(sensor type):18 (0x00000012) type_temperature 温度传感器,目前已被type_ambient_temperature替代 传感器类型值(sensor type):7 (0x00000007)
获取传感器列表的代码如下:
package com.example.androidtest; import java.util.list; import android.os.bundle; import android.annotation.suppresslint; import android.app.activity; import android.content.context; import android.hardware.sensor; import android.hardware.sensormanager; import android.view.menu; public class mainactivity extends activity { @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); getsensorlist(); } @suppresslint("newapi") private void getsensorlist() { // 获取传感器管理器 sensormanager sensormanager = (sensormanager) getsystemservice(context.sensor_service); // 获取全部传感器列表 list<sensor> sensors = sensormanager.getsensorlist(sensor.type_all); // 打印每个传感器信息 stringbuilder strlog = new stringbuilder(); int iindex = 1; for (sensor item : sensors) { strlog.append(iindex + "."); strlog.append(" sensor type - " + item.gettype() + "\r\n"); strlog.append(" sensor name - " + item.getname() + "\r\n"); strlog.append(" sensor version - " + item.getversion() + "\r\n"); strlog.append(" sensor vendor - " + item.getvendor() + "\r\n"); strlog.append(" maximum range - " + item.getmaximumrange() + "\r\n"); strlog.append(" minimum delay - " + item.getmindelay() + "\r\n"); strlog.append(" power - " + item.getpower() + "\r\n"); strlog.append(" resolution - " + item.getresolution() + "\r\n"); strlog.append("\r\n"); iindex++; } system.out.println(strlog.tostring()); } @override public boolean oncreateoptionsmenu(menu menu) { // inflate the menu; this adds items to the action bar if it is present. getmenuinflater().inflate(r.menu.activity_main, menu); return true; } }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!