我有一个简单的活动,因为屏幕触摸。奇怪的是,活动以我所处的任何方向开始,但旋转设备什么都不做。
我使用的是运行Android 4.0.3的Acer A100
主要活动是列表视图,它加载我的单独系统测试。我可以运行SingleTouchTest活动而不会出现旋转问题。我尝试过各种组合:
android:configChanges="keyboard|keyboardHidden|orientation" android:screenOrientation="unspecified"
并且它不会自动旋转。我甚至删除了:
public void onConfigurationChanged
功能,没有任何反应。
答案 0 :(得分:6)
因为你正在使用
android:screenOrientation="unspecified"
每个活动,根据谷歌
定义默认值。系统选择方向。政策呢 使用,因此在特定环境中做出的选择可能会有所不同 从设备到设备。
这使我认为该设备出于某种原因宣布了所需的方向。也许尝试将屏幕方向切换到
android:screenOrientation="fullSensor"
应该从特定的设备手中取出它。
答案 1 :(得分:2)
试试这个:
android:screenOrientation="fullSensor"
方向由设备方向传感器决定。显示器的方向取决于用户如何握住设备。这应该是你想要的。另外,有关更多选项,请查看此链接 - Activity Element.
答案 2 :(得分:2)
在AndroidManifest中,摆脱|orientation
。原因如下:
android:configChanges
允许您手动处理特定的配置更改。由于您没有告诉您的应用程序手动旋转(通过onConfigurationChanged()
内的代码),它根本没有做任何事情。要允许您的应用程序自动使用轮换,您必须告诉清单 手动处理方向。
在here上解释此问题的文档为Android Developers Site。