Android屏幕方向更改在平板电脑上具有不同的行为

我有以下活动:

android:screenOrientation="portrait"

和代码:

if(blah blah blah)
    this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)

在活动中onCreate.
1.在智能手机上进行测试时,“ setRequestedOrientation”会破坏活动,并以所需的屏幕方向再次创建.
2.在平板电脑设备上测试时,此代码仅运行一次活动.在“ setRequestedOrientation”之后,它将继续运行而不会破坏并再次创建活动.当在onCreate中没有调试器或没有断点的启动代码时,就会发生这种情况.如果我停止onCreate函数-我在日志中看到-销毁并再次onCreate.
如何使用平板电脑捕捉特定情况?

更新:
-如果禁用“方向锁定”,则平板电脑会出现问题.如果启用了“方向锁定”,则程序的工作方式与智能手机相同.

UPDATE2:
-是否可以为整个应用程序设置首选的屏幕方向.因此,当活动开始知道所需的方向时.这将导致不必要的调用“ setScreenOrientation”,并避免创建第二个活动.

解决方法:

不可以.您不能为整个应用程序设置首选的屏幕方向…相反,您应该仅在各个活动中调用setScreenOrientation … Refere this link here…

上一篇:Delphi Android – 检测设备方向的变化


下一篇:android – 根据方向更改背景图像.