Activity.OnWindowFocusChanged(Boolean) 메서드

정의

활동의 현재 Window 가 포커스를 얻거나 잃을 때 호출됩니다.

[Android.Runtime.Register("onWindowFocusChanged", "(Z)V", "GetOnWindowFocusChanged_ZHandler")]
public virtual void OnWindowFocusChanged (bool hasFocus);
[<Android.Runtime.Register("onWindowFocusChanged", "(Z)V", "GetOnWindowFocusChanged_ZHandler")>]
abstract member OnWindowFocusChanged : bool -> unit
override this.OnWindowFocusChanged : bool -> unit

매개 변수

hasFocus
Boolean

이 활동의 창에 포커스가 있는지 여부입니다.

구현

특성

설명

활동의 현재 Window 가 포커스를 얻거나 잃을 때 호출됩니다. 이 활동이 사용자가 적극적으로 상호 작용하는 엔터티인지 여부를 나타내는 가장 좋은 지표입니다. 기본 구현은 키 추적 상태를 지우므로 항상 호출해야 합니다.

활동 수명 주기와 독립적으로 관리되는 전역 포커스 상태에 대한 정보를 제공합니다. 따라서 포커스 변경은 일반적으로 수명 주기 변경과 일부 관계가 있지만(중지된 활동은 일반적으로 창 포커스를 가져오지 않음) 여기에서 콜백과 같은 #onResume다른 수명 주기 메서드의 콜백 간에 특정 순서를 사용하지 않아야 합니다.

그러나 일반적으로 포그라운드 작업에는 창 포커스가 있습니다... 입력 포커스를 사용하는 다른 대화 상자 또는 팝업을 표시하지 않는 한 활동 자체는 다른 창에 포커스가 없을 것입니다. 마찬가지로 시스템은 포그라운드 작업을 일시 중지하지 않고 일시적으로 창 입력 포커스를 사용하는 시스템 수준 창(예: 상태 막대 알림 패널 또는 시스템 경고)을 표시할 수 있습니다.

android.os.Build.VERSION_CODES#Q 부터는 다중 창 모드에서 동시에 여러 개의 다시 시작 작업이 있을 수 있으므로 다시 시작된 상태는 위에 오버레이가 없더라도 창 포커스를 보장하지 않습니다.

활동이 가장 활성 상태인 경우 사용자가 대화 상자 및 팝업 #onTopResumedActivityChanged(boolean) 과 같은 비활성 창을 포함하지 않고 모든 활동 중에서 마지막으로 상호 작용한 작업을 파악하려는 경우 를 사용해야 합니다. 이전 android.os.Build.VERSION_CODES#Q#onResume 의 플랫폼 버전에서 가 가장 좋은 지표입니다.

에 대한 Java 설명서입니다 android.app.Activity.onWindowFocusChanged(boolean).

이 페이지의 일부는 만들고 공유하며 에 설명된 조건에 따라 사용되는 작업을 기반으로 수정됩니다.

적용 대상

추가 정보