Android传感器SensorEventListener之加速度传感器
程序员文章站
2022-06-16 13:32:59
这个类(我的是activity中)继承sensoreventlistener接口
先获取传感器对象,再获取传感器对象的类型
//获取传感器管理对象
s...
这个类(我的是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[]数组传给需要使用的对象就能使用了。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
上一篇: Flutter实现底部菜单导航
下一篇: Flutter实现底部导航