본문 바로가기
카테고리 없음

삼성 안드로이드 13 통화 중 Overlay 비활성화

by Leafdesk 2023. 4. 20.

회사에서 안드로이드 법인폰을 사용한 녹취 솔루션을 보험사 등에 제공 중입니다. 솔루션 특성 상 개인정보 보안을 위해 통화 중 화면을 가리는 것은 매우 중요한 문제인데, 안드로이드 13 업데이트 이후 이것이 동작하지 않아 원인 분석하느라 고생했습니다.

 

1. 출처를 알 수 없는 앱의 통화 중 Overlay 일시 비활성화 현상

안드로이드 13이 탑재된 삼성 핸드폰에서는 신뢰할 수 없는 경로로 다운로드 받은 APK 파일이 아래 권한을 사용하면 ‘보이스 피싱 의심’ 팝업이 표시됩니다.

<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.ANSWER_PHONE_CALLS" />

그리고 이러한 경우에 출처를 알 수 없는 앱이 그리는 Overlay가 통화 중에만 SamsungRestrictOverlayProcessor에 의해 일시적으로 비활성화됩니다. 통화가 끝나면 다시 돌아옵니다.


2. 구글 플레이스토어, ADB, MDM을 통한 설치로 통화 중 Overlay 비활성화 방지


구글 플레이스토어 또는 ADB를 통해 설치한 APK, 혹은 MDM 등을 사용하여 시스템 권한으로 APK를 설치한 경우에는 통화 중 Overlay가 비활성화되지 않습니다.

MDM을 통해 설치한 APK의 경우 앱 정보에 “앱 출처 정보: Android 시스템에서 다운로드 됨”이 표시되며, "출처를 알 수 없는 앱"이라고 판단되지 않습니다. 그러나 플레이스토어, ADB, MDM 등의 방법으로 APK를 설치하지 않으면, ‘출처를 알 수 없는 앱’이라고 판단되어 통화 중 Overlay가 비활성화됩니다.

안드로이드 13 삼성 핸드폰에서는 위 방법 외에 ‘출처를 알 수 없는 앱에 대한 통화 중 Overlay 일시적 비활성화’를 막을 수 있는 방법이 없습니다. 소스 코드로 구현 가능한 부분이 아닙니다.


3. 구글 플레이스토어 등록이나 MDM 사용이 어려운 경우, ADB 설치 방법


구글 플레이스토어 등록이나 MDM 사용이 어려운 경우에는 ADB를 통해 APK를 설치하는 방법을 사용하실 수 있습니다. 안드로이드 스튜디오에서 디버깅 시 ADB를 통해 설치하는 앱은 통화 중 Overlay 비활성화 문제가 없습니다. APK 파일을 웹 브라우저 등에서 직접 다운로드 받을 때만 문제가 발생합니다.

ADB를 이용한 설치 방법은 다음과 같습니다. (64비트 운영 체제 기준)

C:\Windows\SysWOW64 >
adb install -r -t "<apk path>"

CMD 창에서 adb.exe 파일이 존재하는 경로로 이동하고, ADB 명령어를 통해 APK 파일을 설치합니다. <apk path> 부분에 설치할 APK의 위치를 작성합니다.

이 방법을 사용하면 안드로이드 13 삼성 핸드폰에서 출처를 알 수 없는 앱의 통화 중 Overlay 일시적 비활성화 문제를 해결할 수 있습니다.


아래 세 개의 링크를 참고하여 이 문제에 대한 더 많은 정보와 지식을 얻으실 수 있습니다.

https://forum.developer.samsung.com/t/android13-system-alert-window-permission-not-checked/24454

 

Android13, SYSTEM_ALERT_WINDOW permission not checked

In this receiver, I check SYSTEM_ALERT_WINDOW permission by using Settings.canDrawOverlays(context) . When I run this in Android Studio, it works well. However, permission is not checked when built with apk only on Android 13. Returns false even though you

forum.developer.samsung.com

https://stackoverflow.com/questions/75228830/android13-system-alert-window-permission-not-checked-in-broadcastreceiver

 

Android13, SYSTEM_ALERT_WINDOW permission not checked in BroadcastReceiver

I want to show a floating view when the user gets a phone call or a text message. But overlay permission check in broadcastReceiver returns false with built apk on Android 13. I use BroadcastReceiver

stackoverflow.com

https://stackoverflow.com/questions/73931047/permission-denied-for-window-type-2038-regardless-of-the-flags-and-draw-permissi

 

permission denied for window type 2038 regardless of the flags and draw permissions

I know this question has been frequently asked before but I still get crash reports from many users regardless of targeting their API. So I have a foreground service that I check draw permissions e...

stackoverflow.com