Compartir a través de


Handler Clase

Definición

Un controlador permite enviar y procesar y ejecutar Message objetos asociados a un subproceso MessageQueue.

[Android.Runtime.Register("android/os/Handler", DoNotGenerateAcw=true)]
public class Handler : Java.Lang.Object
[<Android.Runtime.Register("android/os/Handler", DoNotGenerateAcw=true)>]
type Handler = class
    inherit Object
Herencia
Handler
Derivado
Atributos

Comentarios

Un controlador permite enviar y procesar y ejecutar Message objetos asociados a un subproceso MessageQueue. Cada instancia del controlador está asociada a un único subproceso y a la cola de mensajes de ese subproceso. Al crear un nuevo controlador, está enlazado a .Looper Entregará mensajes y runnables a esa cola de mensajes de Looper y las ejecutará en el subproceso de ese bucle.

Hay dos usos principales para un controlador: (1) para programar mensajes y runnables que se ejecutarán en algún momento en el futuro; y (2) para poner en cola una acción que se va a realizar en un subproceso diferente del suyo propio.

La programación de mensajes se realiza con los #postmétodos , #postAtTime(Runnable, long), #postDelayed#sendEmptyMessage, #sendMessage, , #sendMessageAtTimey #sendMessageDelayed . Las <versiones em>post</em> le permiten poner en cola objetos runnables a los que llamará la cola de mensajes cuando se reciben; las <versiones em>sendMessage</em> le permiten poner en cola un Message objeto que contiene un conjunto de datos que el método del #handleMessage controlador procesará (lo que requiere que implemente una subclase de Handler).

Al publicar o enviar a un controlador, puede permitir que el elemento se procese tan pronto como la cola de mensajes esté lista para hacerlo, o bien especificar un retraso antes de que se procese o el tiempo absoluto para que se procese. Los dos últimos permiten implementar tiempos de espera, tics y otro comportamiento basado en intervalos.

Cuando se crea un proceso para la aplicación, su subproceso principal se dedica a ejecutar una cola de mensajes que se encarga de administrar los objetos de aplicación de nivel superior (actividades, receptores de difusión, etc.) y las ventanas que crean. Puede crear sus propios subprocesos y comunicarse con el subproceso de aplicación principal a través de un controlador. Esto se hace llamando a los mismos <métodos em>post</em> o <em>sendMessage</em> que antes, pero desde el nuevo subproceso. El objeto Runnable o Message especificado se programará en la cola de mensajes del controlador y se procesará cuando corresponda.

Documentación de Java para android.os.Handler.

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.

Constructores

Handler()

El constructor predeterminado asocia este controlador con para Looper el subproceso actual.

Handler(Action<Message>)

Un controlador permite enviar y procesar y ejecutar Message objetos asociados a un subproceso MessageQueue.

Handler(Handler+ICallback)

El constructor asocia este controlador con para Looper el subproceso actual y toma una interfaz de devolución de llamada en la que puede controlar los mensajes.

Handler(IntPtr, JniHandleOwnership)

Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el entorno de ejecución.

Handler(Looper)

Use el proporcionado Looper en lugar del predeterminado.

Handler(Looper, Handler+ICallback)

Use el proporcionado Looper en lugar del predeterminado y tome una interfaz de devolución de llamada en la que controlar los mensajes.

Propiedades

Class

Devuelve la clase en tiempo de ejecución de este Objectobjeto .

(Heredado de Object)
Handle

Identificador de la instancia de Android subyacente.

(Heredado de Object)
JniIdentityHashCode

Un controlador permite enviar y procesar y ejecutar Message objetos asociados a un subproceso MessageQueue.

(Heredado de Object)
JniPeerMembers

Un controlador permite enviar y procesar y ejecutar Message objetos asociados a un subproceso MessageQueue.

Looper
PeerReference

Un controlador permite enviar y procesar y ejecutar Message objetos asociados a un subproceso MessageQueue.

(Heredado de Object)
ThresholdClass

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

ThresholdType

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

Métodos

Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
CreateAsync(Looper)

Cree un nuevo controlador cuyos mensajes publicados y ejecutables no estén sujetos a barreras de sincronización, como mostrar vsync.

CreateAsync(Looper, Handler+ICallback)

Cree un nuevo controlador cuyos mensajes publicados y ejecutables no estén sujetos a barreras de sincronización, como mostrar vsync.

DispatchMessage(Message)

Controle los mensajes del sistema aquí.

Dispose()

Un controlador permite enviar y procesar y ejecutar Message objetos asociados a un subproceso MessageQueue.

(Heredado de Object)
Dispose(Boolean)

Un controlador permite enviar y procesar y ejecutar Message objetos asociados a un subproceso MessageQueue.

(Heredado de Object)
Dump(IPrinter, String)
DumpAsync(IPrinter, String)

Un controlador permite enviar y procesar y ejecutar Message objetos asociados a un subproceso MessageQueue.

Equals(Object)

Indica si algún otro objeto es "igual a" este.

(Heredado de Object)
GetHashCode()

Devuelve un valor de código hash del objeto.

(Heredado de Object)
GetMessageName(Message)

Devuelve una cadena que representa el nombre del mensaje especificado.

HandleMessage(Message)

Las subclases deben implementar esto para recibir mensajes.

HasCallbacks(IRunnable)

Compruebe si hay publicaciones pendientes de mensajes con devolución de llamada r en la cola de mensajes.

HasMessages(Int32)

Compruebe si hay publicaciones pendientes de mensajes con el código "what" en la cola de mensajes.

HasMessages(Int32, Object)

Compruebe si hay publicaciones pendientes de mensajes con el código "what" y cuyo obj es "object" en la cola de mensajes.

JavaFinalize()

Llamado por el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto.

(Heredado de Object)
Notify()

Activa un único subproceso que está esperando en el monitor de este objeto.

(Heredado de Object)
NotifyAll()

Activa todos los subprocesos que están esperando en el monitor de este objeto.

(Heredado de Object)
ObtainMessage()

Devuelve un nuevo android.os.Message Message elemento del grupo de mensajes global.

ObtainMessage(Int32)

#obtainMessage()Igual que , salvo que también establece el miembro del mensaje devuelto.

ObtainMessage(Int32, Int32, Int32)

#obtainMessage()Igual que , excepto que también establece los miembros what, arg1 y arg2 del mensaje devuelto.

ObtainMessage(Int32, Int32, Int32, Object)

#obtainMessage()Igual que , excepto que también establece los valores what, obj, arg1 y arg2 en el mensaje devuelto.

ObtainMessage(Int32, Object)

#obtainMessage()Igual que , excepto que también establece los miembros what y obj del mensaje devuelto.

Post(Action)

Un controlador permite enviar y procesar y ejecutar Message objetos asociados a un subproceso MessageQueue.

Post(IRunnable)

Hace que se agregue runnable r a la cola de mensajes.

PostAtFrontOfQueue(Action)

Un controlador permite enviar y procesar y ejecutar Message objetos asociados a un subproceso MessageQueue.

PostAtFrontOfQueue(IRunnable)

Envía un mensaje a un objeto que implementa Runnable.

PostAtTime(Action, Int64)

Un controlador permite enviar y procesar y ejecutar Message objetos asociados a un subproceso MessageQueue.

PostAtTime(Action, Object, Int64)

Un controlador permite enviar y procesar y ejecutar Message objetos asociados a un subproceso MessageQueue.

PostAtTime(IRunnable, Int64)

Hace que se agregue runnable r a la cola de mensajes para que se ejecute en un momento específico dado por <var>uptimeMillis</var>.

PostAtTime(IRunnable, Object, Int64)

Hace que se agregue runnable r a la cola de mensajes para que se ejecute en un momento específico dado por <var>uptimeMillis</var>.

PostDelayed(Action, Int64)

Un controlador permite enviar y procesar y ejecutar Message objetos asociados a un subproceso MessageQueue.

PostDelayed(IRunnable, Int64)

Hace que se agregue runnable r a la cola de mensajes para que se ejecute después de que transcurre el tiempo especificado.

PostDelayed(IRunnable, Object, Int64)

Hace que se agregue runnable r a la cola de mensajes para que se ejecute después de que transcurre el tiempo especificado.

RemoveCallbacks(Action)

Un controlador permite enviar y procesar y ejecutar Message objetos asociados a un subproceso MessageQueue.

RemoveCallbacks(Action, Object)

Un controlador permite enviar y procesar y ejecutar Message objetos asociados a un subproceso MessageQueue.

RemoveCallbacks(IRunnable)

Quite las publicaciones pendientes de Runnable r que estén en la cola de mensajes.

RemoveCallbacks(IRunnable, Object)

Quite todas las publicaciones pendientes de Var <>ejecutable r</var> con token</var> de <>objeto que se encuentran en la cola de mensajes.

RemoveCallbacksAndMessages(Object)

Quite las publicaciones pendientes de devoluciones de llamada y mensajes enviados cuyo <var>obj</var> sea <var>token</var>.

RemoveMessages(Int32)

Quite las publicaciones pendientes de mensajes con el código "what" que se encuentran en la cola de mensajes.

RemoveMessages(Int32, Object)

Quite las publicaciones pendientes de mensajes con el código "what" y cuyo obj es "object" que se encuentran en la cola de mensajes.

SendEmptyMessage(Int32)

Envía un mensaje que contiene solo el valor what.

SendEmptyMessageAtTime(Int32, Int64)

Envía un mensaje que contiene solo el valor que se va a entregar en un momento específico.

SendEmptyMessageDelayed(Int32, Int64)

Envía un mensaje que contiene solo el valor que se va a entregar una vez transcurrido el tiempo especificado.

SendMessage(Message)

Inserta un mensaje al final de la cola de mensajes después de todos los mensajes pendientes antes de la hora actual.

SendMessageAtFrontOfQueue(Message)

Poner en cola un mensaje en la parte delantera de la cola de mensajes, que se procesará en la siguiente iteración del bucle de mensajes.

SendMessageAtTime(Message, Int64)

Poner en cola un mensaje en la cola de mensajes después de todos los mensajes pendientes antes de la hora absoluta (en milisegundos) <var>uptimeMillis</var>.

SendMessageDelayed(Message, Int64)

Poner en cola un mensaje en la cola de mensajes después de todos los mensajes pendientes antes (hora actual + delayMillis).

SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
ToArray<T>()

Un controlador permite enviar y procesar y ejecutar Message objetos asociados a un subproceso MessageQueue.

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto.

(Heredado de Object)
UnregisterFromRuntime()

Un controlador permite enviar y procesar y ejecutar Message objetos asociados a un subproceso MessageQueue.

(Heredado de Object)
Wait()

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser em notificado/em> o <em>interrumpido</em>.<><

(Heredado de Object)
Wait(Int64)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <notificado<>/em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
Wait(Int64, Int32)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <notificado<>/em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)

Implementaciones de interfaz explícitas

IJavaPeerable.Disposed()

Un controlador permite enviar y procesar y ejecutar Message objetos asociados a un subproceso MessageQueue.

(Heredado de Object)
IJavaPeerable.DisposeUnlessReferenced()

Un controlador permite enviar y procesar y ejecutar Message objetos asociados a un subproceso MessageQueue.

(Heredado de Object)
IJavaPeerable.Finalized()

Un controlador permite enviar y procesar y ejecutar Message objetos asociados a un subproceso MessageQueue.

(Heredado de Object)
IJavaPeerable.JniManagedPeerState

Un controlador permite enviar y procesar y ejecutar Message objetos asociados a un subproceso MessageQueue.

(Heredado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Un controlador permite enviar y procesar y ejecutar Message objetos asociados a un subproceso MessageQueue.

(Heredado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Un controlador permite enviar y procesar y ejecutar Message objetos asociados a un subproceso MessageQueue.

(Heredado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Un controlador permite enviar y procesar y ejecutar Message objetos asociados a un subproceso MessageQueue.

(Heredado de Object)

Métodos de extensión

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Un controlador permite enviar y procesar y ejecutar Message objetos asociados a un subproceso MessageQueue.

GetJniTypeName(IJavaPeerable)

Un controlador permite enviar y procesar y ejecutar Message objetos asociados a un subproceso MessageQueue.

Se aplica a