目前常用的有两种(小三也只有两种)

加速传感器:SENSOR_ACCELEROMETER

姿态传感器:SENSOR_ORIENTATION

经试验

public void onSensorChanged(int sensor, float[] values) {

里的values为如下含义;

当传感器为姿态传感器(SENSOR_ORIENTATION)时values的含义如下:

SENSOR_ORIENTATION , SENSOR_ORIENTATION_RAW :

All values are angles in degrees.

values[0]: Azimuth, rotation around the Z axis (0<=azimuth<360). 0 = North, 90 = East, 180 = South, 270 = West

values[1]: Pitch, rotation around X axis (-180<=pitch<=180), with positive values when the z-axis moves toward the y-axis.

values[2]: Roll, rotation around Y axis (-90<=roll<=90), with positive values when the z-axis moves toward the x-axis.

values[0] 为Yaw轴上的转动角度

values[1] 为Pitch轴上的转动角度

values[2] 为Roll轴上的转动角度

加传感器相应,首先在onCreate里获得系统的sensorsevice

s_sensor = (SensorManager)getSystemService(SENSOR_SERVICE);

之后再Activity类下的onResume里设定监听

int mask = 0; mask |= SensorManager.SENSOR_ORIENTATION;//姿态传感器 //mask |= SensorManager.SENSOR_ACCELEROMETER;//加速度传感器 s_sensor.registerListener(mListener, mask, SensorManager.SENSOR_DELAY_GAME);

然后,在创建监听接口

public static float s_sensorValue[] = new float[3]; private final SensorListener mListener = new SensorListener() { @Override public void onAccuracyChanged(int sensor, int accuracy) { // TODO Auto-generated method stub } @Override public void onSensorChanged(int sensor, float[] values) { // TODO Auto-generated method stub if(sensor == SensorManager.SENSOR_ORIENTATION) { s_sensorValue[0] = values[0]; s_sensorValue[1] = values[1]; s_sensorValue[2] = values[2]; // System.out.println("value[0] = " + values[0]); // System.out.println("value[1] = " + values[1]); // System.out.println("value[2] = " + values[2]); } } };

之后就可以根据获得的s_sensorValue去进行传感器相应啦。

更多相关文章

  1. Android传感器之陀螺仪传感器
  2. Android传感器之磁场传感器
  3. Android(安卓)Light Sensor
  4. Android--Sensor传感器
  5. Android(安卓)传感器--光照传感器详解及使用
  6. Android硬件之-传感器概述
  7. Android(安卓)Context 上下文 你必须知道的一切[转]
  8. Android性能优化篇:从布局角度进行优化
  9. 产品必懂的技术必修(三)

随机推荐

  1. Android热补丁方案对比
  2. Android 中需要掌握的高级技巧
  3. [置顶] android四大组件之intent
  4. 在android里调用第三方动态链接库.so
  5. Android(安卓)网络调试
  6. Android(安卓)9 (P)之init进程启动源码分
  7. Android公共库(缓存,下拉ListView,下载管
  8. android报表例子
  9. android 热更新(无框架)
  10. android中的selector背景选择器的用法