首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么对于Sensor.TYPE_ROTATION_VECTOR和Sensor.TYPE_GAME_ROTATION_VECTOR我会得到null?

为什么对于Sensor.TYPE_ROTATION_VECTOR和Sensor.TYPE_GAME_ROTATION_VECTOR我会得到null?
EN

Stack Overflow用户
提问于 2015-05-01 03:11:27
回答 1查看 1.1K关注 0票数 1

我有一部尤里卡手机,from its specs我可以看到它至少有一个加速计和一个陀螺仪。

我从网上发现,TYPE_ROTATION_VECTOR需要加速计、陀螺仪和磁力计。由于我没有磁力计,也许是因为我无法得到这个传感器。

然而,从docs上看,TYPE_GAME_ROTATION_VECTOR似乎不需要磁力计,那么为什么我也没有得到这个传感器呢?

我正在尝试使用这个传感器来测量手机屏幕相对于地面的倾斜角度,当用户试图将其平放在手上时。

EN

回答 1

Stack Overflow用户

发布于 2015-05-25 14:42:35

首先,您可以尝试使用以下代码打印出设备上所有传感器的信息。如果传感器没有打印出来,它就不可用。

代码语言:javascript
复制
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系统从其他传感器的数据派生而来。可能还有其他因素决定软件传感器的可用性,例如频率、能耗、可靠性。在这种情况下,您可能需要使用从传感器获得的原始数据自己导出其他值。

希望这能有所帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29975859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档