我们在Android中经常使用一些传感器,下面是API定义的几个传感器常量:
我们在使用传感器时一般遵循以下步骤,我们以加速传感器为例。
首先,获得相应的传感器管理器。
sensorManager=(SensorManager)getSystemService(Context.SENSOR_SERVICE);
其次,为传感器注册监听器,我们这里使用的是加速传感器。
Sensor sensor = ensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
sensorManager.registerListener(this,sensor , SensorManager.SENSOR_DELAY_FASTEST);
第一个参数是对应的加速传感器的属性;第三个参数是模式的选择,此处的DELAY_FASTEST
表示获得传感器数据的速度,这里所写的表示尽可能快的接收数据。除此之外,我们还有如下几种模式:
SENSOR_DELAY_GAME 如果利用传感器开发游戏,建议使用该值。 一般大多数实时行较高的游戏使用该级别。
SENSOR_DELAY_NORMAL 默认的获取传感器数据的速度。标准延迟,对于一般的益智类游戏或者EASY界别的游戏可以使用,但过低的采样率可能对一些赛车类游戏有跳帧的现象。
SENSOR_DELAY_UI 若使用传感器更新UI, 建议使用该值。
然后,当我们为传感器使用了监听。我们需要实现具体的监听方法,而在Android中,应用程序使用传感器,主要依赖于android.hardware.SensorEventListener接口:
Public class UpdateService extends Service implements SensorEventListener {
public void onSensorChanged(SensorEvent event) {
}
}
当传感器的值发生变化时,执行onSensorChanged中的方法。具体实现的方法就不在这里赘述了。