Activity.OnWindowFocusChanged(Boolean) Método

Definición

Se llama cuando el actual Window de la actividad obtiene o pierde el foco.

[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

Parámetros

hasFocus
Boolean

Si la ventana de esta actividad tiene el foco.

Implementaciones

Atributos

Comentarios

Se llama cuando el actual Window de la actividad obtiene o pierde el foco. Este es el mejor indicador de si esta actividad es la entidad con la que interactúa activamente el usuario. La implementación predeterminada borra el estado de seguimiento de claves, por lo que siempre se debe llamar a .

Tenga en cuenta que esto proporciona información sobre el estado de enfoque global, que se administra independientemente del ciclo de vida de la actividad. Por lo tanto, aunque los cambios de foco generalmente tendrán alguna relación con los cambios del ciclo de vida (una actividad detenida no suele obtener el foco de la ventana), no debe confiar en ningún orden determinado entre las devoluciones de llamada aquí y las de los otros métodos de ciclo de vida, como #onResume.

Sin embargo, como regla general, una actividad en primer plano tendrá el foco de la ventana... a menos que haya mostrado otros diálogos o elementos emergentes que toman el foco de entrada, en cuyo caso la propia actividad no tendrá el foco cuando las otras ventanas lo tengan. Del mismo modo, el sistema puede mostrar ventanas de nivel de sistema (como el panel de notificación de la barra de estado o una alerta del sistema) que tomará temporalmente el foco de entrada de ventana sin pausar la actividad en primer plano.

android.os.Build.VERSION_CODES#Q A partir de puede haber varias actividades reanudadas al mismo tiempo en modo de varias ventanas, por lo que el estado reanudado no garantiza el foco de ventana incluso si no hay superposiciones anteriores.

Si la intención es saber cuándo una actividad es la más activa, la que el usuario interaccionó por última vez entre todas las actividades, pero no incluye ventanas que no son de actividad como diálogos y elementos emergentes, #onTopResumedActivityChanged(boolean) se debe usar. En las versiones de plataforma anteriores a android.os.Build.VERSION_CODES#Q, #onResume es el mejor indicador.

Documentación de Java para android.app.Activity.onWindowFocusChanged(boolean).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código y se usan según los términos descritos en la creative Commons 2.5.

Se aplica a

Consulte también