我正在尝试编写一个.apk来测量旋转Android设备屏幕所需的时间(循环几次旋转).
我使用的调用setRequestedOrientation()来reoriente在4个位置的屏幕(PORTRAIT,LANDSCAPE,REVERSE_PORTRAIT和REVERSE_LANDSCAPE).
我的问题是我无法分辨轮换结束的时间.我尝试了一些解决方案,但每个解决方案都存在问题.
onConfigurationChanged().问题是当方向改变从传感器发生时,此方法被触发,而不是从setRequestedOrientation().其实,我调用setRequestedOrientation()与FULL_SENSOR参数onConfigurationChanged我以前的呼吁后工作setRequestedOrientation().setRequestedOrientation()通过添加while循环来检查屏幕方向(以度为单位)来进行"阻塞".android.view.Display.getRotation()之前我打过电话setRequestedOrientation()并用while循环阻塞,直到它发生了变化.不幸的是,它也不起作用.它在重新显示UI之前返回.onCreate()再次调用来跟随活动的生命周期,以假设旋转已完成.以前,我正在循环,直到我的计数器达到一个值,在每次迭代调用setRequestedOrientation().在这种情况下,我的while循环变为if语句,并且我假设onCreate每次都会调用该函数,但是onCreate()在几次迭代后不会调用它.用户界面似乎也没有重新绘制.waitForIdleSync()方法setRequestedOrientation().waitForIdleSync()是Instrumentation类的一部分,我认为这只是用于测试而不是标准的.apk.任何想法都会非常受欢迎.我将衷心感谢您的帮助.
您应该尝试使用: http://developer.android.com/reference/android/view/OrientationEventListener.html
您需要首先调用enable(),然后您会收到设备发生的每次旋转更改的通知。
| 归档时间: |
|
| 查看次数: |
1740 次 |
| 最近记录: |