以编程方式设置方向,没有活动 - 娱乐?

时间:2015-02-03 15:49:25

标签: android android-activity android-orientation android-configchanges

每当我使用setRequestedOrientation(int)时,它的行为都与我在Manifest.xml中声明方向时的行为不同。 (这是预期的)

我读过(来自文档):

  

如果活动当前处于前台或以其他方式影响屏幕方向,屏幕将立即更改(可能导致活动重新启动)

实际上,这意味着每当应用程序启动时,如果设备的方向不是将使用setRequestedOrientation(int)设置的方向,则活动将创建两次(一次'通常&#39 ;并且一次反映所要求的方向。)

到目前为止,让我的活动100%配置变更证明是不值得的,我希望能够在代码中设置所请求的方向,而无需两次创建我的活动。< / strong>有办法吗?

(最好不使用hackish解决方法,例如在configChanges中设置&#39; orientation&#39;标志)

编辑:

接受的答案是正确的,它根本不合乎逻辑(没有意义)。对于新读者,我所做的是添加一个存根活动(主要是空活动并没有做太多)。它只是使用getRequestedOrientation()当它与我想要的不同时,我会调用setRequestedOrientation(int),否则启动我想要的活动,并在其onCreate中也调用setRequestedOrientation(int)来保持它是在要求的方向。

1 个答案:

答案 0 :(得分:2)

不,这没有意义。如果以编程方式设置方向,则“活动”已在运行,然后您可以执行任何操作以更改每个方向的重复创建。