Android:暂时禁用 Activity 中的方向更改

标签 android screen-orientation android-orientation

我的主要 Activity 有一些代码可以进行一些不应中断的数据库更改。我正在另一个线程中做繁重的工作,并使用我设置为不可取消的进度对话框。但是,我注意到,如果我旋转手机,它会重新启动对正在运行的进程非常不利的 Activity ,并且我会收到强制关闭。

我想要做的是以编程方式禁用屏幕方向更改,直到我的过程完成,此时启用方向更改。

最佳答案

正如 Chris 在他的 self-answer 中所解释的那样, 调用

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);

然后

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);

真的很像魅力......在真实设备上!

在模拟器上测试时不要以为它坏了,ctrl+F11快捷键总是改变屏幕方向,而不模拟传感器移动。

编辑:这不是最好的答案。如评论中所述,此方法存在问题。 The real answer is here .

关于Android:暂时禁用 Activity 中的方向更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3611457/

相关文章:

android - 如何在 Activity 中实现 OptionMenu

android - 在 Google Play 多人游戏中邀请回合制比赛时,有什么方法可以传递信息吗?

android - 当设备方向改变时 onCreate 方法不断被调用

android force 在横向模式下启动 Activity

android - 为什么 onLayout 和 onSizeChanged 在方向改变时被调用两次?

android - Webview 不能在对话框中水平滚动

c# - Unity Cardboard Orientation 风景右倒置

android - 如何处理android中的显示旋转

Android CameraX 图像旋转

android - 重定向到 Intent Activity 时出现问题