我有一个应用程序,只要活动进入 onPause 状态,就会在其中显示登录屏幕。通常,当屏幕方向改变时,活动会进入 onPause 状态,所以我在设备旋转时以某种方式阻止了登录屏幕。看下面的代码,
protected void onPause() {
super.onPause();
WindowManager mWindowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
mDisplay = mWindowManager.getDefaultDisplay();
mOrientation = mDisplay.getRotation();
if(mOrientation == 1 || mOrientation == 2 || mOrientation == 3 || mOrientation == 0)
{
inApp = true;
}
if (!inApp) {
SavedState.setState(this, "HomeActivity");
Intent intent = new Intent(HomeActivity.this, LoginActivity.class);
startActivity(intent);
}
}
但问题是当我按下主页按钮并返回应用程序时,登录屏幕没有显示,而是直接恢复到活动,因为mDisplay.getRotation()
读取屏幕当前方向并且if
条件总是为真。
简单明了,我需要在用户按下主页按钮或切换到其他应用程序时显示登录屏幕,但在屏幕旋转时不显示。
非常感谢任何类型的建议或示例。谢谢 !