【问题标题】:Emulator's built-in application can't detect orientation change模拟器的内置应用程序无法检测到方向变化
【发布时间】:2025-11-27 02:45:02
【问题描述】:

我认为这是一个简单的问题,但我在任何地方都找不到答案!

在我的模拟器(Windows 7 上的 SDK 9)上,许多内置应用程序无法正确响应方向变化。它们包括:浏览器(!)、闹钟、计算器、Api Demos。他们可以正确地切换到横向模式,但是当模拟器转回纵向时,他们会停留在横向模式。但是,其他一些内置应用程序也很好,它们是主屏幕、启动器和电话拨号器。

我尝试了以下方法以查看发生了什么:

@Override
public void onCreate(Bundle savedInstanceState) {
    ....
    boolean bLandscape = getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE;
    ....
}

我看到的是:当模拟器切换到横向模式时,它返回了正确的结果。但是当模拟器转回来时,它仍然说它处于横向模式!

只有我一个人吗?有人对此有任何见解吗?谢谢你,一如既往!

【问题讨论】:

  • 一个愚蠢的问题,但是您在切换回方向后等了多长时间?有时模拟器在以新方向呈现布局之前需要相当长的时间。至少这发生在我身上。
  • @Timo 好吧,我不会再骂你傻了,这简直让我……但有两件事要回答:如果我看到他们变成风景,我会不会等足够长的时间让他们回头?此外,我说我已经以编程方式检查过,如果 onCreate() 被调用,很容易推断出等待时间足够长。

标签: android orientation


【解决方案1】:

这是模拟器的一个已知错误。这不会在真实设备上发生,并且与任何这些应用程序的编码方式无关。

错误记录是here

更多信息见here

【讨论】:

    最近更新 更多