Android传感器SensorEventListener之加速度传感器

今天小编就为大家分享一篇关于Android传感器SensorEventListener之加速度传感器,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

这个类(我的是Activity中)继承SensorEventListener接口

先获取传感器对象,再获取传感器对象的类型

 //获取传感器管理对象 SensorManager mSensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE); // 获取传感器的类型(TYPE_ACCELEROMETER:加速度传感器) Sensor mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);

这里我们除了可以获取加速度传感器之外,还可以获取其他类型的传感器,如:

  • * Sensor.TYPE_ORIENTATION:方向传感器。
  • * Sensor.TYPE_GYROSCOPE:陀螺仪传感器。
  • * Sensor.TYPE_MAGNETIC_FIELD:磁场传感器。
  • * Sensor.TYPE_GRAVITY:重力传感器。
  • * Sensor.TYPE_LINEAR_ACCELERATION:线性加速度传感器。
  • * Sensor.TYPE_AMBIENT_TEMPERATURE:温度传感器。
  • * Sensor.TYPE_LIGHT:光传感器。
  • * Sensor.TYPE_PRESSURE:压力传感器。

重写注册方法

 @Override protected void onResume(){ super.onResume(); //为加速度传感器注册监听器 mSensorManager.registerListener(this, mSensor, SensorManager.SENSOR_DELAY_GAME); }

重写onSensorChanged方法

 @Override public void onSensorChanged(SensorEvent event){ values = event.values; StringBuilder sb = new StringBuilder(); sb.append("X方向的加速度:"); sb.append(values[0]); sb.append("/nY方向的加速度:"); sb.append(values[1]); sb.append("/nZ方向的加速度:"); sb.append(values[2]); mTextValue.setText(sb.toString());//输出到Imageview上,就可看见加速度的变化 }

重写取消监听的方法

 @Override protected void onStop(){ super.onStop(); //取消监听 mSensorManager.unregisterListener(this); }

这样就能获取加速啦。

将values[]数组传给需要使用的对象就能使用了。

总结

以上就是Android传感器SensorEventListener之加速度传感器的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » 移动