我的主要 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/