Android:在创建之前设置活动方向,但不在清单中设置(HDMI 插入问题)



我可以通过在onCreate中使用setRequestedOrientation来完美地以编程方式管理方向变化。

一切都很好,直到我插入HDMI电缆。在此之后,平板电脑"希望"处于横向模式。因此,当我打开一个活动时,它首先显示在"横向"中,然后紧接着以"纵向"显示,(因为我在onCreate中调用variable=ActivityInfo.SCREEN_ORIENTATION_PORTRAIT setRequestedOrientation(variable_with_orientation_desired_by_the_user) 正如您"看到"的那样,我的应用程序在用户打开的每个活动中不断旋转;

如果我在清单中

为活动设置了定向,则此问题将部分消失,因为清单中的方向与用户选择的方向相同。如果它们不同,则相同的行为将再次开始。

我试过这个,但没有成功:

@Override
public void onCreate(final Bundle saved)
{
    setRequestedOrientation(ScreenOrientation);
    super.onCreate(icicle);
}

那么,有没有办法告诉安卓它必须在创建我的活动之前创建我的活动?(但它不能是明显的)

我通过在清单文件中将 screenOrientation 设置为"后面"来解决它:

        android:screenOrientation="behind"

我在清单中使用此声明解决了它:

android:screenOrientation="locked"

在清单中声明的与此问题相关的每个活动。

并继续以编程方式使用setRequestedOrientation()来定义onCreate()方法中的横向还是纵向,

希望对您有所帮助!

最新更新