软件编程
位置:首页>> 软件编程>> Android编程>> Android传感器SensorEventListener之加速度传感器

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

作者:凌晨两点半的太阳v  发布时间:2023-03-07 15:05:50 

标签: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[]数组传给需要使用的对象就能使用了。

来源:https://blog.csdn.net/lzq1326253299/article/details/82153948

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com