Android 10 (API 수준 29) 이상에서는 앱을 시작할 수 있는 시점에 대한 제한 활동 만들 수 있습니다. 이러한 제한은 사용자 및 사용자의 불편을 최소화하는 데 도움이 됩니다. 사용자가 화면에 표시되는 내용을 더 잘 제어할 수 있게 합니다.
이 가이드에서는 만들 수 있습니다. 또한 제한이 적용되지 않는 특정 사례도 나열됩니다. 적용됩니다.
알림으로 대신 표시
대부분의 경우 백그라운드에 있는 앱은 시간에 민감한 알림 표시 활동을 직접 시작하지 않고 사용자에게 긴급한 정보를 제공할 수 있습니다. 이러한 알림에는 수신 전화나 활성화된 알람 처리가 포함됩니다. 있습니다.
이 알림 기반 경고 및 리마인더 시스템은 여러 가지 이점을 제공합니다. 사용자:
- 기기를 사용할 때 사용자에게 알려주는 헤드업 알림이 표시됩니다. 있습니다. 사용자는 현재 컨텍스트를 유지하고 콘텐츠를 제공할 수 있습니다.
- 시간에 민감한 알림은 사용자의 방해 금지 모드 규칙 대상 예를 들어 사용자는 특정 연락처에서 걸려온 전화만 허용하거나 전화를 걸 수 있습니다.
- 기기의 화면이 꺼져 있으면 전체 화면 인텐트가 실행됩니다. 즉시 삭제할 수 있습니다
- 사용자는 기기의 설정 화면에서 어떤 앱이 최근에 보낸 알림(특정 알림 채널의 알림 포함) 이 화면에서 사용자는 알림 기본 설정을 관리할 수 있습니다.
앱이 활동을 시작할 수 있는 경우
Android 10 이상에서 실행되는 앱은 다음 조건 중 하나 이상이 충족되어야 합니다.
<ph type="x-smartling-placeholder"></ph>
- 앱에 포그라운드의 활동과 같은 보이는 창이 있습니다.
- 앱의 백 스택 및 포그라운드 작업이라는 것을 배웠습니다.
앱의 기존 작업 백 스택에 있는 최근 화면.
앱에 아주 최근에 시작된 활동이 있습니다.
앱이
finish()
을(를) 호출한 날짜: 아주 최근에 있었던 활동이었습니다. 이는 앱에 액티비티의 포그라운드에서 실행되는 활동이 있는 경우finish()
가 호출되었을 때의 포그라운드 작업앱에 시스템에서 바인드한 다음 서비스 중 하나가 있습니다. 이러한 UI를 실행해야 할 수 있습니다.
AccessibilityService
AutofillService
CallRedirectionService
HostApduService
InCallService
TileService
(Android 14 (API 수준 34) 이상에는 적용되지 않음)VoiceInteractionService
VrListenerService
.
앱에 다른 가시적 앱에 의해 바인드된 서비스가 있습니다. 앱 백그라운드에서 앱이 계속 보이는 상태에서 시작됩니다.
<ph type="x-smartling-placeholder"></ph>
앱에서 알림을 수신함 시스템에서
PendingIntent
를 삭제합니다. 포함 서비스 및 broadcast receiver의 대기 중인 인텐트의 경우 앱이 활동을 시작할 수 있습니다.앱이 다른 공개 API에서 전송된
PendingIntent
를 수신합니다. 있습니다.앱이 시스템 브로드캐스트를 수신하며 여기서 앱이 있습니다. 예를 들면
ACTION_NEW_OUTGOING_CALL
및SECRET_CODE_ACTION
. 브로드캐스트가 전송되고 몇 초 후에 앱이 Activity를 시작할 수 있습니다.앱이 다음을 통해 호환 하드웨어 기기와 연결됩니다.
CompanionDeviceManager
API에 액세스할 수 있습니다. 이 API를 사용하면 앱이 사용자가 페어링된 기기에서 수행하는 작업을 수행합니다.앱이 다음에서 실행되는 기기 정책 컨트롤러입니다. 기기 소유자 모드로 사용할 수 없습니다. 사용 사례의 예는 다음과 같습니다. 완전 관리형 엔터프라이즈 기기 디지털 기기와 같은 사이니지, 키오스크 등 다양한 기기를 제공합니다
사용자가 앱에
SYSTEM_ALERT_WINDOW
권한을 부여했습니다.
PendingIntent에서 활동을 시작하려면 선택 필요
목록에 있는 Android 14부터 명시적 API를 사용하면 을 사용하여 활동 시작에 대한 앱 권한 부여를 선택하거나 선택 해제할 수 있습니다.
Android 15 이상을 타겟팅하는 앱은 기본적으로 더 이상 암시적으로 암시적으로 사용되지 않도록 설정됩니다.
PendingIntents
에 백그라운드 활동 실행 (BAL) 권한을 부여합니다.
있습니다. 명시적인 선택이 필요하며, 이를 위해서는 다음과 같은 옵션이 있습니다.
앱에서 PendingIntents
를 전송하는지, 생성하는지에 따라 다릅니다.
PendingIntent 발신자
PendingIntent
를 시작하려는 Android 14 이상을 타겟팅하는 앱은 다음을 충족해야 합니다.
- 나열된 조건 및
- 이러한 예외에 따라 백그라운드 활동이 실행되도록 선택합니다.
이 선택은 앱 개발자가 앱이 다음 조건을 충족하는 경우에만 이루어져야 합니다. 활동을 시작합니다.
선택하려면 앱에서 다음과 같은 ActivityOptions
번들을 전달해야 합니다.
setPendingIntentBackgroundActivityStartMode(ActivityOptions.MODE_BACKGROUND_ACTIVITY_START_ALLOWED)
PendingIntent.send()
또는 유사한 메서드에 전달할 수 있습니다.
PendingIntent 생성자
이제 PendingIntent
를 만드는 Android 15 이상을 타겟팅하는 앱은 다음을 충족해야 합니다.
백그라운드 활동 실행을 원하는 경우 이를 허용하도록 명시적으로 선택합니다.
PendingIntents
를 나열된 조건에서 시작할 수 있습니다.
대부분의 경우 PendingIntent
를 시작하는 앱을 선택해야 합니다.
하지만 만드는 앱에서 다음 권한을 부여해야 하는 경우 다음을 참고하세요.
PendingIntent
는 만드는 앱이 표시되면 언제든지 시작할 수 있습니다.- 만드는 앱에 특수 항목이 있으면 언제든지
PendingIntent
를 시작할 수 있습니다. 액세스할 수 있습니다
선택하려면 앱에서 다음과 같은 ActivityOptions
번들을 전달해야 합니다.
setPendingIntentCreatorBackgroundActivityStartMode
(ActivityOptions.MODE_BACKGROUND_ACTIVITY_START_ALLOWED)
(으)로
PendingIntent.getActivity()
또는 유사한 메서드
자세한 내용은 관련 참조 문서를 확인하세요.
ActivityOptions.setPendingIntentBackgroundActivityStartMode
ActivityOptions.setPendingIntentCreatorBackgroundActivityStartMode