屏幕方向卡在模拟器上

时间:2011-01-20 20:49:12

标签: java android android-emulator android-manifest

我在活动中实施了一个视频播放器。我正在通过设置像这样的清单

来强制它进入景观
<activity android:name=".activity.VideoPlayerActivity"
              android:launchMode="singleTask"
              android:configChanges="orientation"
              android:screenOrientation="landscape"/>

并使用空实现覆盖onConfigurationChanged,以便不重新启动活动。

这一切都很好但至少在模拟器上它似乎会影响其他活动,迫使它们进入横向,即使它们在代码方面没有任何共享。我没有看到这种情况发生在任何手机上,但显然我手机数量有限,我真的不希望这种情况发生在用户身上。

以前有人见过这个问题吗?它只是模拟器吗?有没有更好的方法呢?

或者考虑使用平板电脑等,我应该停止强制横向模式,只是跟踪视频中的位置,并在方向改变时重新开始正确的位置?

2 个答案:

答案 0 :(得分:1)

我认为这是模拟器的事情;我确定我见过类似的东西,但从来没有看过任何手机。

此外,您的Activity可以通过各种configChange重新启动,包括硬件键盘滑入/滑出,或更改区域设置或日/夜模式?

最好让用户选择并跟踪位置,就像你说的那样 也许你甚至可以通过onRetainNonConfigurationInstance()保留你正在使用的MediaPlayer(或其他)。

答案 1 :(得分:0)

好好想想你是如何使用它的......你可以将仿真器放在一边,就像用户将手机转向那个方向观看视频一样。因此,如果没有其他应用程序强制执行特定方向,它将保持该方向。你可以点击:

来改变模拟器的方向

CTRL + F2 + F12