我正在根据设备类型更改屏幕方向。案例是我们的开发平台通过HMDI连接到LCD(并且是固定的),然后在实际的手机或平板电脑上进行测试。我希望开发平台始终以横向显示,而其他所有内容都以纵向显示。
我编写了一个接受Activity对象的静态方法,如果设备是某种类型,则调用它的setScreenOrientation。我在Activitys onCreate中调用此方法,将自身作为参数传递。或者,我也将它放在onStart中。问题在于它导致不可预测的行为。我怀疑通过调用setRequestedOrientation重新启动Activity。 API通过调用此方法确实声明“可以重新启动Activity”。有时它会在安顿之前改变方向几次,有时它不会,并且似乎总是使应用程序崩溃。
我想问题就变成了:如何在不使用Manifest的情况下为尚未启动的Activity设置方向?
感谢任何帮助。
谢谢, 布赖恩
答案 0 :(得分:2)
在实际运行之前,无法动态设置方向。
如果您希望您的方向变化,您应该使用其中一种方向模式:默认方式允许它根据设备首选项和用户如何旋转屏幕而变化,“nosensor”使用设备的首选方向而不使用允许它根据用户旋转屏幕等进行更改