传感器的定义:一种物理设备或者生物器官,能够探测、感受外界的信号,物理条件(如光,热,适度)或化学组成(如烟雾),并将探知的信息传递给其他的设备或者器官!
传感器的种类:可以从不同的角度对传感器进行划分,转换原理(传感器工作的基本物理或化学效应);用途;输出信号以及制作材料和工艺等。一般是按工作原来来分:物理传感器与化学传感器两类!手机上搭载的基本都是物理传感器,手机上搭载的传感器有下面这些:
代码示例:
运行效果图:
代码实现:
activity_main.xml:
Step1:获得传感器管理器:
SensorManagersm=(SensorManager)getSystemService(SENSOR_SERVICE);List
~Step1:获得传感器管理器:
SensorManagersm=(SensorManager)getSystemService(SENSOR_SERVICE);~Step2:调用特定方法获得需要的传感器:
比如这里获取的是方向传感器,想获得什么传感器自己查API~:
SensormSensorOrientation=sm.getDefaultSensor(Sensor.TYPE_ORIENTATION);~Step3:实现SensorEventListener接口,重写onSensorChanged和onAccuracyChanged的方法!
onSensorChanged:当传感器的值变化时会回调
onAccuracyChanged:当传感器的进度发生改变时会回调
~Step4:SensorManager对象调用registerListener注册监听器:
当然低延时意味着更频繁的检车,更意味着更多的电量消耗,如果不是要求精度非常高的建议别使用太高精度的,一般用第三个较多~自己衡量衡量吧~
~Step5:监听器的取消注册:
用完就放,一个很好的习惯,一般我们可以把他写到Activity或者Service的销毁方法中:
ms.registerListener(mContext,mSensorOrientation,android.hardware.SensorManager.SENSOR_DELAY_UI);