我想知道如何在我的 android 应用程序中为某些活动完全关闭方向传感器。
这就是我的挣扎。假设我使用以下命令在活动的 onCreate(或 onStart/onResume)方法中动态设置方向。
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
我的经验是,如果我以一种根据方向传感器会导致横向模式的方式握住设备,屏幕上的显示速度会明显加快。
所以感觉就像活动首先要按照传感器建议的方向设置布局,然后根据 setRequestedOrientation 方法进行切换。我什至有时会在屏幕上看到这一点,如相关帖子android - 在切换活动时意外短暂的方向变化中所述。
似乎我对 setRequestedOrientation 调用为时已晚。所以我想知道如何完全关闭方向传感器以避免在 setRequestedOrientation 调用之前设置方向。或者作为替代方案,如何及时调用 setRequestedOrientation。由于我需要在运行时动态决定此功能(首选项设置),因此我无法在清单中设置固定的方向。
非常感谢您提供有关此问题的任何提示。
马丁
编辑:我忘了提,清单包含
android:configChanges="keyboardHidden|orientation|screenSize"