在从待机状态解锁手机时,如何在Android应用中停止自动屏幕旋转

时间:2010-08-24 11:44:36

标签: android screen-rotation

我有一个Android应用程序,我希望始终以横向模式运行。

我实施了以下代码,以确保应用始终处于横向模式:

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

这似乎启动并在应用程序的整个持续时间内将应用程序保持在横向视图中。完美!

但是,如果我的应用程序在我的HTC Aria(Android 2.1)上运行并且手机锁定,如果我解锁手机,我看到该应用程序大约半秒钟,它是纵向的,然后快速切换回景观模式。这是非常令人沮丧的,因为我的所有观点都混乱不堪,看起来像你想象的那样不专业。这种情况发生在模拟器和我的真实手机上。

有人知道当手机解锁时如何阻止应用程序暂时轮换?

加法:
我试过覆盖onConfigurationChanged()但没有成功。

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

3 个答案:

答案 0 :(得分:2)

尝试在清单文件中设置方向。它可能会起作用。

答案 1 :(得分:2)

在查看了许多仅针对横向制作的应用时,我可以看到他们的应用在待机后也不会冻结他们的方向。我有一种感觉,这是手机的限制,并且当手机锁定时,所有应用都会切换到纵向。如果所有应用都有这个“问题”,那么我认为不修复是可以接受的。

如果您发现有办法停止强制纵向方向,请发布。

答案 2 :(得分:2)

  

当手机解锁时,应用程序仍会显示为错误的方向。

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