Android - java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation

다용도리모콘·2020년 3월 12일
0

문제해결

목록 보기
1/1

java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation

앱 디바이스 테스트 도중에 특정 디바이스에서만 발생했던 문제.

원인 :

알고보니 특정 디바이스가 아니라 특정 버전인 오레오 버전에 한해서 발생하는 문제로
투명 액티비티 스타일에

android:screenOrientation="portrait"

을 사용할 경우 발생하는 문제이다.
아마도 오류? 인듯.

해결 방법 :

  1. 첫번째 방법
<item name="android:windowIsTranslucent">true</item>

이 부분을 삭제

  1. 두번째 방법
<item name="android:windowDisablePreview">true</item>

이 부분을 추가

  1. 세번째 방법
override fun setRequestedOrientation(requestedOrientation: Int) {
    if (Build.VERSION.SDK_INT != Build.VERSION_CODES.O) {
            super.setRequestedOrientation(requestedOrientation)
    }
}

해당 액티비티에 이 코드를 삽입.
나는 세가지 중에서 마지막 방법을 사용했다.

마치며

앱 테스트를 진행할 때 특정 기종, 혹은 특정 버전에서 발생하는 문제를 만나게 되면 정말 골치가 아프다. 다행히 이번에는 구글링을 통해 해결 방법을 쉽게 찾을 수 있었지만 구글링 해도 안나오는건 정말....

0개의 댓글