在我的应用程序中,我使用 ImgButton 调用第二个 Activity,它在 onClick() 上调用相机意图。拍完照片后,回到我的活动中,我会显示一个警报对话框,用户可以在其中选择是否再拍一张照片。在我的清单中,我将第二个 Activity 的方向锁定为纵向,因为如果我旋转设备,AlertBox 就会消失:
<activity android:name="SecondActivity"
android:screenOrientation="portrait"></activity>
在我的清单中,我还添加了:
android:configChanges="orientation|keyboardHidden"
对于全屏模式
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
如果我拍照并从纵向模式关闭相机意图(不旋转设备),则 2 个不同的设备会出现问题:
HTC Desire:一切正常,如果我从相机返回到我的活动,我会保存应用程序状态并恢复它们:D
Galaxy S3*:sgs3 上的摄像头似乎在横向模式下默认运行?因此,如果您返回我的活动,我的活动显示的内容是在横向模式下眨眼,并立即返回纵向模式。但是 AlertDialog 在方向更改之前显示,因此 AlertDialog 在不需要的旋转之前消失(所以我在横向模式下只看到 AlertBox 0,1 秒,然后它消失并且旋转切换回纵向模式)...
如果我从横向模式结束相机意图,无论在哪个设备上,问题与 sgs3 * 上的问题相同。
从相机返回到我的活动后,如何防止屏幕旋转?在这种不受欢迎的方向改变后,我可以简单地显示警报框吗?如果是这样,我该怎么做?还是有其他解决方法?
感谢和抱歉我的英语不好... xD