我正在尝试创建一个从数字罗盘读取数据的应用程序。我尝试重用《专业Android应用程序开发》一书中的代码,但IDE显示了一个注释


  不推荐使用类型SensorListener


我猜是因为本书中的代码是为早期的SDK版本编写的,所以我尝试改用SensorEventListener。

然后当我尝试注册监听器时

sensorManager.registerListener(sensorListener, SensorManager.SENSOR_ORIENTATION, SensorManager.SENSOR_DELAY_FASTEST);


出现错误:


  SensorManager类型的方法registerListener(SensorListener,int,int)不适用于参数(SensorEventListener,int,int)


因此我尝试将SensorEventListener强制转换为SensorListener,但该应用程序无法正常工作。

有谁知道如何在更新的SDK版本中使用传感器?

谢谢。

最佳答案

您需要使用一个单独的SensorEventListener类。请参见here

10-08 15:29