gpt4 book ai didi

android - 如何防止屏幕方向改变从相机 Intent 返回(SGS3)

转载 作者:太空狗 更新时间:2023-10-29 15:13:27 26 4
gpt4 key购买 nike

在我的应用程序中,我使用 ImgButton 调用第二个 Activity,它在 onClick() 上调用相机 Intent 。拍完照片后,回到我的 Activity 中,我会显示一个警报对话框,用户可以在其中选择是否拍摄更多照片。在我的 list 中,我将第二个 Activity 的方向锁定为纵向,因为如果我旋转设备,AlertBox 就会消失:

<activity android:name="SecondActivity"
android:screenOrientation="portrait"></activity>

在我的 list 中我还添加了:

android:configChanges="orientation|keyboardHidden"

全屏模式

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

如果我拍照并从肖像模式关闭相机 Intent (不旋转设备),则有 2 种不同的设备出现问题:

HTC Desire:一切正常,我保存应用程序状态并在我从相机返回到我的 Activity 时恢复它们:D

Galaxy S3*:sgs3 上的摄像头似乎在横向模式下默认运行?所以如果你回到我的 Activity ,我的 Activity 的显示内容是在横向模式下眨眼,然后立即返回到纵向模式。但是 AlertDialog 在方向改变之前显示,所以 AlertDialog 在不需要的旋转之前消失(所以我在横向模式下只看到 AlertBox 0.1 秒,然后它消失并且旋转切换回纵向模式)...

如果我从横向模式结束相机 Intent ,无论在哪个设备上,问题都与 sgs3* 上的问题相同。

从相机返回我的 Activity 后如何防止屏幕旋转?在这种不希望的方向改变之后,我可以简单地显示 AlertBox 吗?如果是这样,我该怎么做?或者还有其他解决方法吗?

谢谢,抱歉我的英语不好... xD

最佳答案

我自己解决了我的问题:我只是把

AlertDialog[...].show();

进入 onResume() Activity ,所以如果我从相机 Intent 返回到我的 Activity ,AlertDialog 会随屏幕旋转而不是消失。

这会导致 WindowManager 发生错误

"[package name] leaked window ..."

但最终它如我所愿地工作并且应用程序没有崩溃......

不确定这是否是最佳和正确的解决方案,但它确实有效。

关于android - 如何防止屏幕方向改变从相机 Intent 返回(SGS3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14852069/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com