Android 13(API 수준 33)에서는 타겟 SDK 버전과 관계없이 사용자가 알림 창에서 포그라운드 서비스를 중지할 수 있습니다. FGS(포그라운드 서비스) 작업 관리자라고 하는 이 새로운 기능에는 현재 포그라운드 서비스를 실행 중인 앱 목록이 표시됩니다. 이 목록에는 활성 앱이라는 레이블이 적용되어 있습니다. 각 앱의 옆에는 중지 버튼이 있습니다. 그림 1은 Android 13을 실행하는 기기에서 FGS 작업 관리자 워크플로를 보여줍니다.
사용자의 동작이 앱 전체를 중지함
사용자가 FGS 작업 관리자에서 앱 옆의 중지 버튼을 누르면 실행 중인 포그라운드 서비스만이 아니라 앱 전체가 중지됩니다.
'위로 스와이프' 사용자 동작 및 '강제 종료' 사용자 동작과의 비교
아래의 표에서 FGS 작업 관리자와 최근 화면의 '위로 스와이프' 동작 및 오작동 중인 앱의 '강제 종료' 동작이 어떻게 다른지 알아보세요.
FGS 작업 관리자 | 위로 스와이프 | 강제 종료 | |
---|---|---|---|
메모리에서 즉시 앱 삭제 | ✔ | ✔ | |
미디어 재생 중지됨 | ✔ | ✔ | |
FGS 중지됨/관련 알림 삭제됨 | ✔ | ✔ | |
활동 백 스택 삭제 | ✔ | ✔ | ✔ |
기록에서 앱 삭제 | ✔ | ✔ | |
예약된 작업 취소됨 | ✔ | ||
알람 취소됨 | ✔ |
사용자가 FGS 작업 관리자에서 앱을 중지하면 콜백이 전송되지 않음
사용자가 중지 버튼을 누르면 시스템이 앱에 콜백을 보내지 않습니다. 앱이 다시 시작될 때 기존 ApplicationExitInfo
API의 일부분인 새로운 REASON_USER_REQUESTED
이유를 확인하는 것이 도움이 될 수 있습니다.
오랫동안 실행되는 포그라운드 서비스에 관한 시스템 메시지
앱이 포그라운드 서비스를 오랫동안(24시간 중에서 20시간 이상) 실행하는 것을 시스템이 감지할 경우, 시스템은 사용자에게 FGS 작업 관리자를 확인하도록 안내하는 알림을 보냅니다.
사용자에게 오랫동안 실행되는 포그라운드 서비스를 알려주는 새로운 시스템 알림에 관해 자세히 알아보세요.
예외
시스템은 이어지는 섹션에서 설명하는 특정 유형의 앱에 대해 여러 수준의 예외를 제공합니다.
예외는 프로세스가 아닌 앱별로 적용됩니다. 시스템이 하나의 앱에서 하나의 프로세스에 예외를 제공한 경우 이 앱의 다른 모든 프로세스에도 예외가 제공됩니다.
FGS 작업 관리자에 전혀 표시되지 않음
다음과 같은 앱은 포그라운드 서비스를 실행해도 작업 관리자에 전혀 표시되지 않습니다.
- 시스템 수준 앱
- 안전 앱(
ROLE_EMERGENCY
역할이 있는 앱) - 데모 모드인 기기
사용자가 중지할 수 없음
다음과 같은 유형의 앱이 포그라운드 서비스를 실행하면 FGS 작업 관리자에 표시되기는 하나 앱 옆에 사용자가 누를 수 있는 중지 버튼이 없습니다.
- 기기 소유자 앱
- 프로필 소유자 앱
- 지속 앱
ROLE_DIALER
역할이 있는 앱
테스트
사용자가 앱을 중지하는 동안에 그리고 앱을 중지한 후에 앱이 예상대로 동작하는지 테스트하려면 터미널 창에서 다음 ADB 명령어를 실행하세요.
adb shell cmd activity stop-app PACKAGE_NAME