我的最新(和第一个)Android应用程序为用户提供了首选项,可以将屏幕固定到肖像或横向,或者让传感器确定方向。为了对用户偏好做出反应,我有类似
的内容public static void setOrientation(Activity a,int orientation) {
switch (orientation) {
case (1): {
a.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
break;
}
case (2): {
a.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
break;
}
case (3): {
a.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
break;
}
}
}
我在onCreate / onRestart上调用它来相应地设置方向。
我现在面临的问题是,当用户从一个活动切换到另一个活动时(选择了固定方向),有时屏幕仍然根据传感器定向,在屏幕拍摄之前分开一秒钟根据要求定向。当用户选择固定方向时,有没有办法完全关闭传感器。我试着添加
a.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);
到目前为止还没有成功。我很确定我会监督一些明显的事情,任何启示如何动态地实现方向的固定都会受到高度赞赏。
非常感谢
马丁
修改
我在一篇新帖子中重述了这个问题:
android - unexpected brief orientation change at switch of activity
答案 0 :(得分:0)
尝试将此添加到您的清单中:
android:configChanges="keyboardHidden|orientation|screenSize">
这可以防止onPause
和onResume
答案 1 :(得分:0)
试试这个......
<activity android:name="com.myapp.MyActivity"
android:label="@string/app_name"
android:configChanges="orientation|screenSize"
/>
更多看看这里.....
http://digitaldumptruck.jotabout.com/?p=897
这可能会对你有帮助。