你好:)我正在开发一个应用程序,它使用指南针和位置在一个位置的方向绘制一个箭头。我的问题是当我在模拟器上运行我的代码时,所有箭头指向正确的方向,当我将模拟器的方向更改为横向时,所有箭头仍然是正确的。但是当我在我的Nexus One上运行相同的应用程序时,箭头在手机垂直时都是正确的,但当它转向横向时,所有箭头都会偏离90度。它将手机的“顶部”作为North的参考。因此,您必须更正指南针以确定手机的方向。这是否发生在所有真正的手机上,而模拟器是不同的?或者这只是Nexus One?谢谢:))
答案 0 :(得分:0)
根据我的理解罗盘工作的当前方式,它应该始终使用手机的“顶部”或“默认方向”来获得正确的读数。这在早期版本的android上可能有所不同。据说由开发人员来补偿屏幕方向以代表真正的北方方向变化。同样适用于加速计,轴保持基于默认屏幕方向(因此对于大多数手机纵向,但平板电脑大多数将是风景)。 我不想把你推荐给sdk,但这个链接第一段解释说: http://developer.android.com/reference/android/hardware/SensorEvent.html