Dev.
Only fullscreen opaque activities can request orientation 해결법 본문
앱올리고 위의 이슈 때문에 죽을 뻔 했다.
대다수가 targetSdkVersiuon 을 27 이상으로 올렸을 때 발생된다.
1. 왜?
위 사진에서 windowIsTrasnlucent - true 가 문제다.
더 파고 들어가면, 위 style 이 적용된 상태에서 아래와 같이 orientation 을 지정 해버리면 위 exception 이 발생된다.
2. 누가?
API 26 의 Activity.java 를 오픈해보자.
위의 내용은 onCreate 부근에서 찾을 수 있다.
위 사진의 exception 부분이다.
API 26 부터 trunslucent 가 지정된 액티비티(투명한)는 화면의 회전을 강제하지 못하도록 수정되었다.
그런데 참 웃기다.
위 코드가 보이질 않아서 한참 찾았는데, API 27부터는 위 코드가 제거되었다고 한다.
위 이슈는 API 26에서만 발생 된다는 것, 즉 Android 8.0 기기에서만 발생된다.;;
3. 어떻게 해결할까?
간단하지만, 해당 부분에 대한 테스트 및 동작 확인은 꼭 필요하다.
3-1) 애초에 orientation 을 안주면 된다.
manifest 에서 지정한 경우 orientation 을 제거 하면되고,
코드레벨에서 setRequestedOrientation 으로 작업한 경우 콜백 메소드를 수정 하면된다.
3-2) setRequestedOrientation 부분을 try/catch 로 작업하여도 된다.
'Android' 카테고리의 다른 글
Android[Kotlin] 에서 LiveData 를 사용하는 간단한 예제 (0) | 2019.11.13 |
---|---|
안드로이드,TextWatcher 실시간으로 입력값에 콤마구분하기 (금액관련필드) (0) | 2016.06.08 |
안드로이드 원형로딩바 (0) | 2016.06.08 |
Android, Html Tag관련 (0) | 2016.06.08 |
Android 에서 Json 데이터 읽기 (0) | 2016.06.08 |