Android 如何使OrientationEventListener.onOrientationChanged()仅在UI旋转时调用

Android 如何使OrientationEventListener.onOrientationChanged()仅在UI旋转时调用,android,orientation,android-sensors,Android,Orientation,Android Sensors,可能重复: 你好, 我想做的就是检测应用程序中的旋转变化。然而,我想我在Android系统中发现了一个bug。如果你读到这篇文章: 它表示每次设备改变方向时,都会调用Activity.onDestroy(),并调用Activity.onCreate()。所以我想我可以使用Display.getRotation()方法在Activity.onCreate()方法中确定我的新方向。但是,我发现由于某种原因,如果将设备快速翻转180度,则永远不会调用onCreate()(甚至onResume())

可能重复:

你好,

我想做的就是检测应用程序中的旋转变化。然而,我想我在Android系统中发现了一个bug。如果你读到这篇文章:

它表示每次设备改变方向时,都会调用Activity.onDestroy(),并调用Activity.onCreate()。所以我想我可以使用Display.getRotation()方法在Activity.onCreate()方法中确定我的新方向。但是,我发现由于某种原因,如果将设备快速翻转180度,则永远不会调用onCreate()(甚至onResume())。我用toast消息证明了这一点。我的Activity.onCreate()中(或Activity.onResume()中)的toast消息将以90度旋转显示,但不会以180度翻转显示。所以问题是,上面文章中的说法并不总是正确的

因此,我决定使用OrientationEventListener.onOrientationChanged()。这是可行的,但我不想在我的应用程序中反复调用onOrientationChanged()(它会随着设备级别的每一次更改而被调用)。这会拖慢我做的其他事情。我只希望当我旋转屏幕足够使屏幕上的图像旋转时调用它,这样我就可以确定我是处于旋转0、旋转90、旋转180还是旋转270

这当然是一个xoom


任何建议

都已详细回答。

其他应用程序是否在翻转肖像模式下正确显示?(我没有平板电脑,但手机上不支持翻转肖像)请详细说明-如果设备翻转180度,您不必处理由于屏幕尺寸变化而导致的配置更改,也不必处理正在重新创建的活动,因为它不是。。。那么为什么你需要检测这种情况呢?莱弗曼尼亚:是的,其他应用程序会翻转并正确显示所有内容。我的应用程序也是如此,但问题是getRotation()似乎没有告诉我正确的事情。Alex:好的,不过,我正在考虑根据旋转做一些不同的事情。所以我需要知道我在哪里旋转来显示不同的东西。总的来说,我认为你是对的,但对于大多数应用来说,这根本不是问题。我最初的搜索并没有解决这个问题。