2012-04-16 19 views
0

我正在開發主要基於傳感器的應用程序。在從它們讀取任何值之前檢查傳感器是否受支持很重要嗎?

我只想知道在從它獲取值之前檢查傳感器是否受支持是否很重要?以及執行這種檢查的最佳方式是什麼?

例如: 1-在從傳感器讀取任何值之前,應將以下代碼作爲初步步驟寫入?

2-是否有更好的方法來做這樣的檢查?

示例代碼

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.sensorssystemservice); 

    getDefaultSensor(); 
    if (registerSensors() !=null)) { 
     //.... 
    //..... 
} 

private void getDefaultSensor() { 
    sm=(SensorManager)getSystemService(SENSOR_SERVICE);   
    mAccelerometer = sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); 
      } 
private boolean registerSensor() { 
    return sm.registerListener(this, mAccelerometer,SensorManager.SENSOR_DELAY_NORMAL); 

}」

回答

0

我不知道是否因爲您嘗試註冊上尚未發現傳感器的聽衆,你最終會得到錯誤,但以避免您發現任何可能會更好地檢查其可用性的問題。這也爲您提供了一個「更清潔」的代碼。

說到方法,您可以使用getSensorList方法:getSensorList

您首先能夠知道設備是否擁有多個與特定類型關聯的傳感器,並且您只需檢查其中一個列表元素是否具有您需要的類型。這項檢查會帶你幾行。

相關問題