2012-08-12 156 views
1

有沒有辦法從android Service訪問傳感器?例如Accelerometer?如果是的話,有人可以指出這樣做的好教程嗎?因爲似乎沒有任何教程。訪問傳感器服務

回答

3

您可以通過getSystemService()您有任何有效的上下文訪問傳感器數據。因此,閱讀Activity中的加速度計數據的教程可以輕鬆應用於讀取服務中的加速度計數據,因此您不需要專門的教程。

private final SensorManager mSensorManager; 
private final Sensor mAccelerometer; 
... 

public void accessAccelerometer() { 
    mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE); 
    mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); 
} 
+0

註冊監聽器怎麼樣?可以通過服務完成嗎? – 2012-08-12 17:32:03

+0

[registerListener()](http://developer.android.com/reference/android/hardware/SensorManager.html#registerListener%28android.hardware.SensorEventListener,%20android.hardware.Sensor,%20int%29)是會員的SensorManager,因爲我們可以在服務中創建一個SensorManager,我們也可以調用它的方法。所以,是的。 – Sam 2012-08-12 17:45:19