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