按设备设置Android应用屏幕方向

时间:2011-05-12 22:30:58

标签: android screen orientation

我正在根据设备类型更改屏幕方向。案例是我们的开发平台通过HMDI连接到LCD(并且是固定的),然后在实际的手机或平板电脑上进行测试。我希望开发平台始终以横向显示,而其他所有内容都以纵向显示。

我编写了一个接受Activity对象的静态方法,如果设备是某种类型,则调用它的setScreenOrientation。我在Activitys onCreate中调用此方法,将自身作为参数传递。或者,我也将它放在onStart中。问题在于它导致不可预测的行为。我怀疑通过调用setRequestedOrientation重新启动Activity。 API通过调用此方法确实声明“可以重新启动Activity”。有时它会在安顿之前改变方向几次,有时它不会,并且似乎总是使应用程序崩溃。

我想问题就变成了:如何在不使用Manifest的情况下为尚未启动的Activity设置方向?

感谢任何帮助。

谢谢, 布赖恩

1 个答案:

答案 0 :(得分:2)

在实际运行之前,无法动态设置方向。

如果您希望您的方向变化,您应该使用其中一种方向模式:默认方式允许它根据设备首选项和用户如何旋转屏幕而变化,“nosensor”使用设备的首选方向而不使用允许它根据用户旋转屏幕等进行更改