회사에서 안드로이드 법인폰을 사용한 녹취 솔루션을 보험사 등에 제공 중입니다. 솔루션 특성 상 개인정보 보안을 위해 통화 중 화면을 가리는 것은 매우 중요한 문제인데, 안드로이드 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