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);

}'

4

1 回答 1

0

我不确定当您尝试在尚未找到的传感器上注册侦听器时最终是否会出错,但为了避免任何问题,您最好检查它们的可用性。这也为您提供了一个“更干净”的代码。

当涉及到方法时,您可以使用 getSensorList 方法:getSensorList

您首先能够知道设备是否拥有多个与某种类型关联的传感器,并且您可以简单地检查其中一个列表元素是否具有您需要的类型。那张支票会带你几行。

于 2012-04-20T07:52:53.453 回答