2012-04-16 3 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.

Сначала вы могли узнать, владеет ли устройство более чем одним датчиком, связанным с определенным типом, и вы можете просто проверить, соответствует ли один из элементов списка требуемому типу. Эта проверка проведет пару строк.

Смежные вопросы