如何知道我的手机上是否有加速计?

时间:2015-12-04 11:01:53

标签: android accelerometer

我正在手机上构建一个Android应用程序,它使用加速计来检测震动。但是,当我摇晃手机时,onSensorChanged从未被调用过。这意味着它无法检测到任何震动!我怀疑我的手机上甚至没有加速度计!

我的手机是运行Android 4.3的Sony Xperia C5303。我怎么知道我的设备上是否有加速度计?

1 个答案:

答案 0 :(得分:0)

要识别设备上的传感器,您必须创建 SensorManager 类的实例并传递SENSOR_SERVICE参数。例如:

private SensorManager mSensorManager;
...
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);

然后,例如,您可以通过使用TYPE_ALL调用 getSensorList()方法获取设备上每个传感器的列表。例如:

List<Sensor> deviceSensors = mSensorManager.getSensorList(Sensor.TYPE_ALL);

如果要列出加速度计,则需要使用TYPE_ACCELEROMETER而不是TYPE_ALL。

更多信息here