锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

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

时间:2023-02-26 23:30:00 android传感器类型321磁场传感器

这一类(我的是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[]数组可以传输给需要使用的对象。

总结

以上是本文的全部内容。我希望本文的内容对您的学习或工作有一定的参考学习价值。感谢您对编程圈的支持。如果您想了解更多信息,请查看以下链接

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章