Android中傳感器的使用
時間:2018-09-25 來源:未知
我們在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中的方法。具體實現的方法就不在這里贅述了。

