在安卓系统中尊重旋转锁定

6
我正在尝试遵循Android旋转锁定设置 - 我希望我的应用程序以主屏幕锁定的任何方向显示。我找到了以下选项:
  1. Settings.System.ACCELEROMETER_ROTATION - 确定屏幕方向是否已锁定。
  2. Display.getRotation() - 确定设备是否从其“自然”方向旋转,可能是纵向或横向。
  3. Display.getWidth()/getHeight() - 确定设备的当前方向。
我以为这很简单,但似乎找不到正确的组合来使其正常工作。报告的值似乎不一致,特别是在应用程序启动期间(onResume是否是检查这些值的正确位置?)。
请注意,我不想仅将我的活动始终固定为纵向或横向,我想将其设置为用户锁定屏幕的方向。对于平板电脑,这可以是横向或纵向。如果用户设置了自动旋转设置,则希望我的活动在传感器模式下运行。
1个回答

4
经过数小时的调试,看起来答案就是检查旋转是否被锁定,如果是,则调用setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR)。现在请原谅我,我要走到最近的桥上去了...

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接