휴.. 이거 때문에 지금 이틀 째 고생입니다.
Launcher를 만들고 있습니다.
Launcher에서 상태바를 없애기 위해
매니페스트에 아래와 같이 theme을 설정해주고
<activity
android:name=".LauncherActivity"
android:launchMode="singleTask"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:clearTaskOnLaunch="true"
android:stateNotNeeded="true"
android:screenOrientation="landscape"
android:configChanges="locale|keyboardHidden|orientation"
android:windowSoftInputMode="stateUnspecified|adjustPan">
onCreate에서는 아래와 같이 flag를 설정해주었습니다.
getWindow().setFlags(0x80000000, 0x80000000);
그리고 Launcher에서 예를들어 앵그리버드를 클릭하여 해당 앱을 시작시키면
다시 상태바를 나타나게 하였습니다.
onPause에 아래와 같이 flag를 clear해주었구요,
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
onResume에는 아래와 같이 하여 Laucher로 들어왔을 때 다시 전체화면이 되도록 하였습니다.
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
일단 첫번 째 시도시에는 문제없이 원하는 대로 구현이 됩니다.
그런데 앵그리버트에서 홈버튼을 눌러 Launcher로 돌아온 후,
다시 앵그리버드를 실행시켰을 때!! 이 때부터 상태바가 안나타나기 시작합니다.
아이러니한 것은 첫번째 앱 실행시에는 잘 되다가, 앱을 종료시키지 않은 상태. 즉 홈버튼으로 나와서
다시 앵그리버드를 실행시키면 상태바가 안나타난다는 것입니다...
휴...이 방법 저 방법 다 해보았는데, 해결되지가 않습니다.
정확한 원인을 모르기 때문에 해결방법 또한 못찾고 있는 상황입니다.
혹시 조언해주실 분 계신가요??
참고로, 타블렛에서의 launcher입니다.
홈키를 누르면 onPause 이전에 onUserLeaveHint 함수가 먼저 호출되기때문에 onPause의 코드가 실행 안되었던 것 같습니다.
홈키 -> onUserLeaveHint -> 홈화면 -> onResume 로 실행되지 않았나요? 로그로 라이프사이클 한번 확인하시고
onUserLeaveHint에 대해서 찾아보시고 구현하시면 될것 같아요