본문으로 건너뛰기

제작 뒷이야기

강제 종료가 알림등에 하는 일

llcloud 팀 3분 분량

빠른 답변

Android에서 앱을 강제 종료하면 접근성 서비스도 함께 꺼져요. 삼성, 샤오미 등의 휴대폰은 물론 순정 Android에서도 마찬가지예요. 접근성 서비스를 다시 켜는 건 시스템과 사용자에게만 허용된 일이라 앱이 스스로 켤 수 없어요. AuraDisplay는 모든 종료를 막을 수는 없어서 AuraDisplay 계속 실행으로 확률을 낮추고, 서비스가 꺼진 걸 알아차리고, 다시 켜기 버튼이 있는 알림을 보내요.

배터리 관리자가 엄격한 휴대폰에서 AuraDisplay를 쓴다면 이런 경험을 하셨을 수 있어요. 알림등이 멈춰서 앱을 열어 보니 접근성 스위치가 꺼져 있어요. 직접 끈 적은 없고, 앱이 충돌한 것도 아니에요. 휴대폰이 그랬고, 앱이 스스로 되돌릴 수 없는 방식으로 그랬어요. 이 글에서는 무슨 일이 일어나는지, Android가 왜 이렇게 작동하는지, 그 주변에 무엇을 만들었는지 설명해요.

강제 종료하면 실제로 무슨 일이 일어나나요?

강제 종료는 Android가 앱을 닫는 가장 강한 방법이에요. 앱의 프로세스를 끝내고, 예약된 작업을 취소하고, 특정한 일이 깨우기 전까지 백그라운드에서 다시 시작하지 못하게 해요. 앱 정보 페이지의 강제 종료로 직접 할 수 있지만, 더 흔하게는 클리너 앱이나 전력을 너무 많이 쓴다고 판단한 앱을 멈추는 휴대폰 제조사의 배터리 도구에서 와요.

대부분의 앱에게 강제 종료는 성가신 일 정도예요. 접근성 서비스로 만든 앱에게는 그 이상이에요. 앱이 강제 종료되면 Android는 그 앱의 접근성 서비스도 꺼요. 한 브랜드만의 특이한 동작이 아니에요. 순정 Android의 Pixel에서 명령 하나로 재현되고, 삼성, 샤오미 등의 휴대폰에서도 똑같이 작동해요.

AuraDisplay는 권한 두 가지를 쓰고, 둘은 다르게 반응해요.

권한 AuraDisplay가 쓰는 곳 강제 종료 뒤
알림 접근 알림이 도착했는지, 어떤 앱이 보냈는지 알기 그대로 허용되고 Android가 다시 연결해요
접근성 서비스 잠금 화면과 올웨이즈 온 디스플레이 위에 알림등 그리기 다시 켤 때까지 꺼져요

이 차이가 이야기의 전부예요. 알림을 듣는 부분은 돌아오고, 빛을 그리는 부분은 돌아오지 않아요.

앱이 접근성 서비스를 스스로 다시 켤 수 없는 이유는 무엇인가요?

Android가 허용하지 않고, 합당한 이유가 있어요. 접근성 서비스는 화면의 내용을 보고 조작할 수 있어요. 휴대폰을 쓰기 어려운 분을 돕는 앱이 이 서비스에 의존하는 이유예요. 그 강력함 때문에 Android는 앱이 아니라 사람이 어떤 서비스를 켤지 정하게 해요.

켜진 접근성 서비스 목록을 바꾸는 설정은 Google Play의 일반 앱이 가질 수 없는 보호된 권한으로만 바꿀 수 있어요. 그래서 강제 종료 뒤에는 AuraDisplay가 스스로 다시 켤 API도, 요령도, 숨은 설정도 없어요. 접근성 서비스를 다시 켜는 앱은 개발자 도구나 루트를 통해 그렇게 하는데, Google Play에서 설치한 일반 앱에는 없는 것들이에요.

저희는 이 규칙이 맞다고 생각해요. 다만 강제 종료 뒤의 모든 복구에는 여러분의 탭 한 번이 필요하다는 뜻이기도 해서, 저희 일은 그 탭을 최대한 쉽게 만들고 필요한 일이 최대한 드물게 하는 거예요.

AuraDisplay는 어떻게 대응하나요?

세 계층으로 생각해요. 종료를 덜 일어나게 하고, 일어나면 알아차리고, 복구를 빠르게 하는 거예요. 어느 한 계층이 다른 계층을 대신하지는 못해요.

예방: AuraDisplay 계속 실행

AuraDisplay 계속 실행은 앱 설정의 무료 옵션이에요. AuraDisplay를 포그라운드 서비스로 실행해서 알림이 붙고, Android가 일반 백그라운드 앱보다 중요하게 다뤄요. 앱을 스스로 닫는 휴대폰에서는 종료될 가능성을 낮춰 줘요.

여기서 일부러 두 가지를 선택했어요. 알림은 밀어서 없앨 수 있고, 한 번 없애면 바로 다시 뜨지 않고 그대로 사라져 있어요. 그리고 이걸 방패라고 설명하지 않아요. 삼성 디바이스 케어를 비롯한 일부 배터리 관리자는 이렇게 실행 중인 앱도 강제 종료할 수 있어요. 도움은 되지만 보장은 아니에요.

감지: 알림등이 꺼진 걸 알아차리기

알림 접근은 강제 종료 뒤에도 남고 Android가 다시 연결한다는 걸 기억하세요. 그 재연결이 AuraDisplay가 앱을 열지 않아도 다시 실행되는 유일한 순간이라서, 거기서 확인해요. 다시 연결된 지 얼마 지나지 않아 접근성 서비스가 켜져 있는지 살펴봐요. 꺼져 있으면 알림등이 죽었다는 걸 알아요.

반대쪽에서도 알아차려요. 알림은 계속 오는데 하나도 그려지지 않으면 무언가 빛을 막고 있는 거고, 같은 확인이 시작돼요.

복구: 탭 한 번으로 되돌리기

서비스가 꺼져 있으면 AuraDisplay가 다시 켜기 버튼이 있는 알림을 보내요. 휴대폰의 접근성 설정이 AuraDisplay 항목에서 바로 열려서 스위치 하나만 켜면 돼요. 서비스를 한 번도 켠 적이 없다면 AuraDisplay의 권한 설명을 먼저 보게 돼요. 이유도 모르고 접근성 서비스를 켜는 사람은 없어야 하니까요.

이 알림은 일반 알림이라서 AuraDisplay가 알림을 게시할 수 있어야 해요. 알림을 꺼 두었다면 경고가 여러분께 닿을 방법이 없어요.

알림등이 돌아오면 AuraDisplay는 다음 종료를 덜 일어나게 하는 설정을 안내해요. 휴대폰 제조사의 백그라운드 또는 자동 실행 스위치, 배터리 최적화, AuraDisplay 계속 실행이에요.

휴대폰에서 강제 종료를 줄이려면 어떻게 하나요?

설정은 브랜드마다 다르고 휴대폰이 얼마나 공격적인지도 달라요. Android가 백그라운드 앱을 종료하는 이유에서 전체 그림을 먼저 보고, 내 휴대폰의 가이드를 따라 하세요.

하나 더 확인해 보세요. 클리너나 “부스트” 앱을 쓴다면 다른 앱을 강제 종료하는지 살펴보세요. 그런 앱이 있고, 종료될 때마다 알림등이 다시 꺼져요.

왜 이런 이야기를 하나요?

“앱을 계속 실행해 두면 작동한다”고 말하는 편이 쉬울 거예요. 하지만 모든 휴대폰에서 사실은 아니에요. 조용히 꺼져 버리는 알림등은 탭 한 번이 필요하다고 알려 주는 알림등보다 나빠서, 저희는 정직한 방식으로 만들기로 했어요. 이 모든 걸 해도 휴대폰이 계속 AuraDisplay를 끈다면 앱에서 진단 리포트를 이메일로 보내 주세요. 그런 리포트를 통해 저희는 각 휴대폰이 실제로 무엇을 하는지 배워요.

질문

Android에서 강제 종료하면 접근성이 꺼지나요?

네. 앱을 강제 종료하면 Android가 그 앱의 접근성 서비스도 함께 꺼요. 배터리 관리자가 공격적인 휴대폰뿐 아니라 순정 Android에서도 확인돼요. 종료는 설정의 강제 종료 버튼, 클리너 앱, 휴대폰 제조사의 배터리 도구에서 올 수 있고, 서비스는 누군가 다시 켜기 전까지 꺼져 있어요.

앱이 접근성 서비스를 스스로 다시 켜면 안 되나요?

Android가 허용하지 않기 때문이에요. 어떤 접근성 서비스를 켤지 바꾸려면 Google Play의 일반 앱은 가질 수 없는 보호된 시스템 권한이 필요해요. 접근성 서비스는 강력해서 Android는 사람이 설정에서 직접 선택하길 원해요. 앱이 할 수 있는 최선은 꺼진 걸 알아차리고 올바른 스위치로 안내하는 거예요.

AuraDisplay 계속 실행을 켜면 강제 종료가 막히나요?

가능성을 낮추지만 보장은 아니에요. 이 옵션은 AuraDisplay를 알림이 있는 포그라운드 서비스로 실행하고, Android는 이를 백그라운드 앱보다 중요하게 다뤄요. 삼성 디바이스 케어 같은 일부 배터리 관리자는 이렇게 실행 중인 앱도 강제 종료할 수 있어요. 그래서 AuraDisplay는 서비스가 꺼지는 것도 지켜보고 알려 드려요.

휴대폰이 AuraDisplay를 강제 종료하는지 어떻게 알 수 있나요?

건드린 적이 없는데 AuraDisplay의 접근성 스위치가 꺼져 있다면 강제 종료가 가장 유력한 원인이에요. AuraDisplay는 서비스가 꺼진 걸 알아차리면 알림을 보내요. 계속 반복되면 휴대폰 브랜드에 맞는 가이드를 따라 하고, 앱에서 진단 리포트를 보내 주세요. 휴대폰이 무엇을 하는지 저희가 볼 수 있어요.

이어서 읽기