Activity.OnWindowFocusChanged(Boolean) Метод

Определение

Вызывается, когда текущее окно действия получает или теряет фокус.

[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

Boolean: имеет ли окно этого действия фокус.

Реализации

Атрибуты

Комментарии

Вызывается, когда текущее окно действия получает или теряет фокус. Это лучший показатель того, является ли это действие сущностью, с которой пользователь активно взаимодействует. Реализация по умолчанию очищает состояние отслеживания ключей, поэтому всегда следует вызывать. Обратите внимание, что это предоставляет сведения о состоянии глобального фокуса, управляемом независимо от жизненного цикла действий. Таким образом, хотя изменения фокуса обычно имеют отношение к изменениям жизненного цикла (действие, остановленное, обычно не будет получать фокус окна), не следует полагаться на какой-либо определенный порядок между обратными вызовами здесь и другими методами жизненного цикла, такими как onResume(). Однако как правило, действие переднего плана будет иметь фокус окна... Если он не отображает другие диалоговые окна или всплывающие окна, которые принимают фокус ввода, в этом случае само действие не будет фокусироваться, когда другие окна имеют его. Аналогичным образом система может отображать окна на уровне системы (например, панель уведомлений о строке состояния или системное оповещение), которые временно принимают фокус ввода окна без приостановки действия переднего плана. Начиная с Build.VERSION_CODES. Вопрос может быть несколько возобновляемых действий одновременно в режиме с несколькими окнами, поэтому возобновление состояния не гарантирует фокус окна даже в том случае, если надложения выше отсутствуют. Если намерение состоит в том, чтобы узнать, когда действие является самым активным, пользователь взаимодействовал с последним среди всех действий, но не включая окна, не относящиеся к действиям, например диалоги и всплывающие окна, то следует использовать onTopResumedActivityChanged(boolean). До Build.VERSION_CODES версии платформы. Q, onResume() является лучшим индикатором.

См. также:

Справочник по Android для android.app.Activity.onWindowFocusChanged.

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

Применяется к