Android如何暂时禁用活动中的方向更改?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (18)

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

提问于
用户回答回答于

你可以采取如下的方法:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);

接着使用这样的方法:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
用户回答回答于

你可以试试这样的方法:

if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
} else setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

你还可以这样来试试:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);

扫码关注云+社区