我按下按钮后开始执行某些任务的程序,并且在此任务运行时不允许更改其方向。我弄清楚如何做到这一点,但我的问题是我的代码只能以一种方式工作。它在任务运行时保持纵向的纵向方向,并且仅在任务完成后(如果用户在任务期间旋转设备)将方向更改为横向。但横向模式中的同样事情也失败了。即使任务正在运行,它也会旋转为纵向。
这是我用来保持方向的代码。此代码位于按钮onClick方法:
final int ori = getResources().getConfiguration().orientation;
setRequestedOrientation(ori);
然后我有我的处理程序类,如果任务已经完成则检查每一秒,如果它们是,它会让我的设备预先更改方向。为此,我使用以下代码:
setRequestedOrientation(-1); // as far as I know -1 in this case means unspecified
我也尝试了setRequestedOrientation(4);
和setRequestedOrientation(10);
答案 0 :(得分:0)
这个答案有很多赞成:
Background task, progress dialog, orientation change - is there any 100% working solution?
我认为这就是你要找的东西。有点复杂。