Only fullscreen activities can request orientation

Byunghoon Lee·2021년 5월 20일
0

Android

목록 보기
1/1
post-thumbnail

상황설명

앱 업데이트 후 안드로이드 기기에서 앱이 안켜진다는 제보가 왔었다.
p_care 앱 사용자가 중년층이 많다보니 알수있는 정보라곤 전화번호, 기종, 성함.. 뿐이었다.
(분명 테스트할때는 다 잘됐는데..?) 내 테스트폰도, 사수분 테스트폰도 이상없었는데 🥲
그렇게 하나 둘 앱 실행이 안된다는 제보가 점점 들어오자 공통점을 유추해 볼수있었다.
안드로이드 8버전
아쉽게도 회사직원중 안드로이드 8버전을 사용하는 사람들이 없어 안양에 테스트기기 대여센터로 가서 실행 하자마자 이런오류가 나온다.

"Only fullscreen activities can request orientation"

오류가 나는 이유?

android/build.gradle targetSdkVersion을 27 이상으로 설정했을경우 문제가 생긴다.
투명한 Activity를 만들기 위해 style.xml에 android:windowIsTranslucent를 사용한다.

아래처럼 안드로이드 8.1버전에서는 해당 오류가 나오는 문구를 삭제함으로써,
이 오류는 안드로이드 8버전에서만 나온다고 한다.

해결

블로그를 봤을때 여러가지 방법이 있었지만, 사수분이 사용한 방법은 아래와 같다.

API 26 (안드로이드8)에서만 windowIsTranslucent 사용 X

android/app/src/res/values/style.xml 처럼
android/app/src/res/values-v26 폴더를 하나 만들어주고 values에 있는 파일들을 그대로 복사 해서 values-v26으로 붙여준다.
위에 나온것처럼 style.xml에서 이 친구를 지워주자

<item name="android:windowIsTranslucent">true</item>

아래는 values 와 values-v26 비교
android/app/src/res/values/style.xml

android/app/src/res/values-v26/style.xml

그다음 실행하면 안드로이드8 버전도 같이 실행이 된다.

느낀점

사실 저 오류를 보고 구글링했을때 나도 해당 블로그를 같이 참고했었다.
이걸 눈으로만 보고 말건지, 하나라도 적용해보며 타이핑을 하는지의 차이가 크다는걸 알았다.
사수분은 바로 적용을 해보고 풀어낸 케이스이고 나도 이걸 보며 많이 느꼈다.
이해가 안간다고 슥슥 넘어가지말고, 천천히 읽어보면서 도입해보는 습관을 가지도록하자.

출처

https://gun0912.tistory.com/79

profile
Never never never give up!

0개의 댓글