【发布时间】:2016-04-18 23:38:31
【问题描述】:
在我的应用程序中,当 System.ACCELEROMETER_ROTATION 指示禁用旋转时,我将 setRequestedOrientation() 与 SCREEN_ORIENTATION_SENSOR 或 SCREEN_ORIENTATION_NOSENSOR 一起使用。我认为这就是我应该这样做的方式,但该应用程序在不同设备上的行为不同。我得到了:
- 应用方向始终与主屏幕相同,无论是否锁定
- 旋转锁定时强制垂直定向,与#1不同
- 在应用停止之前表现类似于 #1,然后始终以垂直方向启动,即使设备本身被锁定为横向
#3 是人们抱怨的地方。显然,他们希望“锁定”能够将所有东西保持在相同的方向,而根据文档 System.ACCELEROMETER_ROTATION 不应该锁定任何东西,而只会禁用加速度计检测。不过,看起来有些供应商对此有不同的解释。
行为 #3 是正常现象,还是我应该以某种方式解决的特定设备错误?如何获得锁定的方向或主屏幕的方向?锁定时弄乱方向是否安全?
编辑: 该应用程序根据设备(屏幕纵横比和其他一些东西)决定是否允许在横向和纵向之间切换。在这种情况下,既不是通过清单设置一个固定方向,也不是允许系统处理旋转。现在要接受我自己的答案来结束这个问题。
【问题讨论】:
标签: android