활동이 onPause 상태가 될 때마다 로그인 화면이 나타나는 응용 프로그램이 있습니다. 일반적으로 화면 방향이 바뀌면 활동이 onPause 상태로 바뀌므로 장치가 회전 할 때 로그인 화면이 표시되지 않습니다. mDisplay.getRotation()
화면 전류를 읽기 때문에 아래의 코드,화면 회전시 로그인 화면 방지 android
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);
}
}
를 참조하지만 문제는 내가 홈 버튼을 누르면하고 다시 응용 프로그램 제공, 로그인 화면 대신 직접 활동 재개 나타나지 않습니다 오리 엔테이션 및 if
조건은 항상 사실이됩니다.
간단하고 명확하게 말하면 사용자가 홈 버튼을 누르거나 다른 응용 프로그램으로 전환 할 때 표시되는 로그인 화면이 필요하지만 화면 회전시 표시되지 않아야합니다.
어떤 종류의 제안이나 사례라도 감사하게 생각합니다. 감사 !
api 13 이상에서는 configChange 목록에 screenSize도 포함해야합니다. – Clyde
매니페스트 파일에서이 태그'android : configChanges = "orientation | screenSize"를 사용해 보았지만 여전히 동일합니다. 당신의 대답은 '파괴를 막고 회전 대신에 함수를 호출 할 것입니다.' –
그것은 실제로 그것을 피하는 "최선의 방법"이 아닙니다. 선호되는 방법은 onSaveInstanceState를 구현하고 onCreate에 전달 된 'Bundle'을 평가하는 것입니다. – 323go