温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-08-26 14:13:09 来源:亿速云 阅读:106 作者:小新 栏目:移动开发

这篇文章主要介绍了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之如何加速度传感器”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI