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

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

更多相关文章

  1. -- Android(安卓)Density
  2. 2012-06-13 16:50 Android限定EditText的输入类型为数字或者英文
  3. Android(安卓)JNI技术介绍
  4. Android(安卓)sqlite存储日期类型
  5. Android(安卓)Jetpack 最佳开发姿势
  6. 异步加载注意的事项
  7. Android(安卓)Sensor 传感器总结
  8. Android中dip(dp)与px之间单位转换 dip2px dp转px 无context算法
  9. Flutter常用数据类型笔记

随机推荐

  1. Android中单击空白区域隐藏键盘
  2. 将写好的软件安装到Android手机
  3. android switch模块 (耳机检测)
  4. iOS,Android,.NET通用AES加密算法
  5. 关于Activity的生命周期的一些见解
  6. android 面试知识个人积累1
  7. what is apk?
  8. Android 获取ROOT权限原理解析
  9. android service 的各种用法(IPC、AIDL)
  10. android 传感器获取方向总结