如何知道我的 phone 上是否有加速度计?
How to know whether I have a accelerometer on my phone?
我正在 phone 上构建一个 Android 应用程序,它使用加速度计来检测震动。然而,当我摇动 phone 时,onSensorChanged
从未被调用。这意味着它无法检测到任何震动!我怀疑我的 phone!
上什至没有加速度计
我的 phone 是索尼 Xperia C5303 运行 Android 4.3。我如何知道我的设备上是否有加速度计?
要识别设备上的传感器,您必须创建 SensorManager class 的实例并传递 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
我正在 phone 上构建一个 Android 应用程序,它使用加速度计来检测震动。然而,当我摇动 phone 时,onSensorChanged
从未被调用。这意味着它无法检测到任何震动!我怀疑我的 phone!
我的 phone 是索尼 Xperia C5303 运行 Android 4.3。我如何知道我的设备上是否有加速度计?
要识别设备上的传感器,您必须创建 SensorManager class 的实例并传递 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