我有一部尤里卡手机,from its specs我可以看到它至少有一个加速计和一个陀螺仪。
我从网上发现,TYPE_ROTATION_VECTOR需要加速计、陀螺仪和磁力计。由于我没有磁力计,也许是因为我无法得到这个传感器。
然而,从docs上看,TYPE_GAME_ROTATION_VECTOR似乎不需要磁力计,那么为什么我也没有得到这个传感器呢?
我正在尝试使用这个传感器来测量手机屏幕相对于地面的倾斜角度,当用户试图将其平放在手上时。
发布于 2015-05-25 14:42:35
首先,您可以尝试使用以下代码打印出设备上所有传感器的信息。如果传感器没有打印出来,它就不可用。
List<Sensor> deviceSensors = mSensorManager.getSensorList(Sensor.TYPE_ALL);
for(int i=0; i<gravSensors.size(); i++) {
// print out sensors information
}那么,即使您有一个加速计和一个陀螺仪,TYPE_GAME_ROTATION_VECTOR可能仍然不受支持。这是因为它是一个软件传感器,由Android系统从其他传感器的数据派生而来。可能还有其他因素决定软件传感器的可用性,例如频率、能耗、可靠性。在这种情况下,您可能需要使用从传感器获得的原始数据自己导出其他值。
希望这能有所帮助!
https://stackoverflow.com/questions/29975859
复制相似问题