2010-08-24 73 views
2

我有一个Android应用程序,我总想以横向模式运行。当我从待机状态解锁手机时,如何停止自动屏幕旋转功能

我已经实现了所有的时间保持应用程序在横向模式下下面的代码:

我的应用程序清单
机器人活动中:screenOrientation =“风景”

这似乎启动并在整个应用程序的持续时间内保持横向视图的应用程序。完善!然而,如果我的应用程序运行在我的HTC Aria(Android 2.1)和手机锁上,如果我解锁手机,我可能会看到该应用程序大概有半秒钟,而且是纵向的,然后快速切换回以横向模式。这是非常令人沮丧的,因为我所有的观点都混杂在一起,而且你可以想象它看起来不专业。这发生在模拟器和我的真实手机上。

有谁知道如何在手机解锁时暂停应用程序暂时旋转吗?

加法:
我试图重写onConfigurationChanged(),但没有成功。

我也试过把setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);进入onResume(),但手机解锁时,该应用程序仍然显示为错误的方向。

+0

您是否在所有活动中放置了android:screenOrientation =“landscape”?如果您忘记这么做,您可能会遇到问题 - 我无法在我的Nexus One上重新创建问题 – 2010-08-24 12:35:42

+0

感谢您的测试。我只有1项活动。这很奇怪,因为它总是在风景中,除了我解锁手机后的一瞬间。我用肖像看它,然后它很快旋转回风景。 – justinl 2010-08-24 12:43:01

+0

这也发生在摩托罗拉机器人 - 我还没有找到解决办法。 – Futumsh 2010-10-26 15:41:59

回答

2

在查看许多其他仅适用于横向导航的应用程序后,我可以看到他们的应用程序在待机后不会冻结它们的方向。我有一种感觉,这是手机的限制,所有的应用程序将在手机锁定时切换到纵向。如果所有的应用程序都有这个“问题”,那么我认为不接受修复是可以接受的。

如果您发现有一种方法可以停止强制肖像取向,请发帖。

+0

有关这方面的消息吗? – Petr 2016-09-01 12:27:38

2

尝试设置清单文件中的方向。它可能只是工作。

+1

我在清单中的清单,应用程序和活动节点中放置了android:screenOrientation =“landscape”,但没有运气。 – justinl 2010-08-24 13:31:43

2

当手机解锁时,该应用仍然显示为错误的方向。

您是否将setContentView(R.layout.main)移动到onResume,在您放置您的方向代码后?我会尝试设置方向,然后setContentView()