获取手机的实际方向

时间:2011-10-03 16:46:51

标签: java android orientation

我需要确定运行我的应用程序的手机的实际方向,我找不到任何方法。我找到了“getRequestedOrientation”函数,但它只检索“setRequestedOrientation”函数设置的方向。

在我的应用中,我让手机根据它的物理方向选择方向。我根据结果做了一些定制工作。

我该怎么办?

提前感谢你花时间去帮助我。

4 个答案:

答案 0 :(得分:1)

根据这两个问题:

你可以使用:

Activity.getResources().getConfiguration().orientation

然而,根据对第二个问题的评论,此值仅返回横向 或者肖像。如果您还需要反向,我建议查询加速度计 用于检测差异的值。但是,我不熟悉Android和 加速度计足以暗示如何准确地做到这一点。

答案 1 :(得分:0)

真正得到目前的方向。

Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
int orientation = display.getOrientation();

答案 2 :(得分:0)

答案 3 :(得分:0)

请参阅thisthis,this stackoverflow问题。它们都涉及如何获得Android手机定位,第二个包括Android罗盘和定位系统如何工作的详细说明。