Поделиться через


Handler Класс

Определение

Обработчик позволяет отправлять и обрабатывать Message и запускать объекты, связанные с потоком 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
Наследование
Handler
Производный
Атрибуты

Комментарии

Обработчик позволяет отправлять и обрабатывать Message и запускать объекты, связанные с потоком MessageQueue. Каждый экземпляр обработчика связан с одним потоком и очередью сообщений этого потока. При создании нового обработчика он привязан к Looper. Он будет доставлять сообщения и запускаться в очередь сообщений Looper и выполнять их в потоке Looper.

Для обработчика используется два основных использования: (1) для планирования сообщений и выполняемых операций в будущем; и (2) для выполнения действия в другом потоке, отличном от собственного.

Планирование сообщений выполняется с помощью #postметодов , , #postAtTime(Runnable, long), #postDelayed#sendEmptyMessage, #sendMessageа также #sendMessageAtTime#sendMessageDelayed методов. Версии <em>post</em> позволяют запрашивать объекты Runnable, вызываемые очередью сообщений при их получении; <версии em>sendMessage</em> позволяют заклинить Message объект, содержащий пакет данных, который будет обрабатываться методом обработчика (требуя реализации подкласса Обработчика #handleMessage ).

При публикации или отправке в обработчик можно разрешить обработку элемента, как только очередь сообщений готова к этому, или указать задержку перед обработкой или абсолютным временем обработки. Последние два позволяют реализовать время ожидания, галочки и другое поведение на основе времени.

При создании процесса для приложения основной поток предназначен для запуска очереди сообщений, которая заботится об управлении объектами приложения верхнего уровня (действиями, широковещательными приемниками и т. д.) и любыми создаваемыми окнами. Вы можете создавать собственные потоки и взаимодействовать с основным потоком приложения с помощью обработчика. Для этого вызовите те же <методы em>post</em> или <em>sendMessage</em> , что и раньше, но из нового потока. Затем заданный параметр Runnable или Message будет запланирован в очереди сообщений обработчика и обрабатывается при необходимости.

Документация по Java для android.os.Handler.

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Конструкторы

Handler()

Конструктор по умолчанию связывает этот обработчик с текущим потоком Looper .

Handler(Action<Message>)

Обработчик позволяет отправлять и обрабатывать Message и запускать объекты, связанные с потоком MessageQueue.

Handler(Handler+ICallback)

Конструктор связывает этот обработчик с Looper текущим потоком и принимает интерфейс обратного вызова, в котором можно обрабатывать сообщения.

Handler(IntPtr, JniHandleOwnership)

Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения.

Handler(Looper, Handler+ICallback)

Используйте предоставленный Looper вместо по умолчанию интерфейс обратного вызова, в котором обрабатываются сообщения.

Handler(Looper)

Используйте предоставленный Looper вместо значения по умолчанию.

Свойства

Class

Возвращает класс среды выполнения этого Objectобъекта.

(Унаследовано от Object)
Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
JniIdentityHashCode

Обработчик позволяет отправлять и обрабатывать Message и запускать объекты, связанные с потоком MessageQueue.

(Унаследовано от Object)
JniPeerMembers

Обработчик позволяет отправлять и обрабатывать Message и запускать объекты, связанные с потоком MessageQueue.

Looper
PeerReference

Обработчик позволяет отправлять и обрабатывать Message и запускать объекты, связанные с потоком MessageQueue.

(Унаследовано от Object)
ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

Методы

Clone()

Создает и возвращает копию этого объекта.

(Унаследовано от Object)
CreateAsync(Looper, Handler+ICallback)

Создайте обработчик, опубликованные сообщения и выполняемые элементы, не подвержены барьерам синхронизации, таким как отображение vsync.

CreateAsync(Looper)

Создайте обработчик, опубликованные сообщения и выполняемые элементы, не подвержены барьерам синхронизации, таким как отображение vsync.

DispatchMessage(Message)

Обработайте системные сообщения здесь.

Dispose()

Обработчик позволяет отправлять и обрабатывать Message и запускать объекты, связанные с потоком MessageQueue.

(Унаследовано от Object)
Dispose(Boolean)

Обработчик позволяет отправлять и обрабатывать Message и запускать объекты, связанные с потоком MessageQueue.

(Унаследовано от Object)
Dump(IPrinter, String)
DumpAsync(IPrinter, String)

Обработчик позволяет отправлять и обрабатывать Message и запускать объекты, связанные с потоком MessageQueue.

Equals(Object)

Указывает, равен ли другой объект этому объекту.

(Унаследовано от Object)
GetHashCode()

Возвращает значение хэш-кода для объекта.

(Унаследовано от Object)
GetMessageName(Message)

Возвращает строку, представляющую имя указанного сообщения.

HandleMessage(Message)

Подклассы должны реализовать это для получения сообщений.

HasCallbacks(IRunnable)

Проверьте наличие ожидающих сообщений с обратным вызовом r в очереди сообщений.

HasMessages(Int32, Object)

Проверьте наличие ожидающих сообщений с кодом what и obj которого является "object" в очереди сообщений.

HasMessages(Int32)

Проверьте наличие ожидающих сообщений с кодом "что" в очереди сообщений.

JavaFinalize()

Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет.

(Унаследовано от Object)
Notify()

Пробуждение одного потока, ожидающего монитора этого объекта.

(Унаследовано от Object)
NotifyAll()

Просыпает все потоки, ожидающие монитора этого объекта.

(Унаследовано от Object)
ObtainMessage()

Возвращает новый из android.os.Message Message глобального пула сообщений.

ObtainMessage(Int32, Int32, Int32, Object)

#obtainMessage()Аналогично, за исключением того, что он также задает значения, obj, arg1 и arg2 для возвращаемого сообщения.

ObtainMessage(Int32, Int32, Int32)

#obtainMessage()То же самое, что, за исключением того, что он также задает элементы arg1 и arg2 возвращаемого сообщения.

ObtainMessage(Int32, Object)

#obtainMessage()Аналогично, за исключением того, что он также задает элементы того, что и obj членов возвращаемого сообщения.

ObtainMessage(Int32)

#obtainMessage()Аналогично, за исключением того, что он также задает элемент возвращаемого сообщения.

Post(Action)

Обработчик позволяет отправлять и обрабатывать Message и запускать объекты, связанные с потоком MessageQueue.

Post(IRunnable)

Вызывает добавление runnable r в очередь сообщений.

PostAtFrontOfQueue(Action)

Обработчик позволяет отправлять и обрабатывать Message и запускать объекты, связанные с потоком MessageQueue.

PostAtFrontOfQueue(IRunnable)

Публикует сообщение в объект, реализующий Runnable.

PostAtTime(Action, Int64)

Обработчик позволяет отправлять и обрабатывать Message и запускать объекты, связанные с потоком MessageQueue.

PostAtTime(Action, Object, Int64)

Обработчик позволяет отправлять и обрабатывать Message и запускать объекты, связанные с потоком MessageQueue.

PostAtTime(IRunnable, Int64)

Вызывает добавление runnable r в очередь сообщений в определенное время, заданное <var>uptimeMillis</var>.

PostAtTime(IRunnable, Object, Int64)

Вызывает добавление runnable r в очередь сообщений в определенное время, заданное <var>uptimeMillis</var>.

PostDelayed(Action, Int64)

Обработчик позволяет отправлять и обрабатывать Message и запускать объекты, связанные с потоком MessageQueue.

PostDelayed(IRunnable, Int64)

Вызывает добавление runnable r в очередь сообщений после указанного периода времени.

PostDelayed(IRunnable, Object, Int64)

Вызывает добавление runnable r в очередь сообщений после указанного периода времени.

RemoveCallbacks(Action, Object)

Обработчик позволяет отправлять и обрабатывать Message и запускать объекты, связанные с потоком MessageQueue.

RemoveCallbacks(Action)

Обработчик позволяет отправлять и обрабатывать Message и запускать объекты, связанные с потоком MessageQueue.

RemoveCallbacks(IRunnable, Object)

Удалите все ожидающие записи runnable <var>r</var с помощью маркера< или var>> объекта<>, которые находятся в очереди сообщений.

RemoveCallbacks(IRunnable)

Удалите все ожидающие записи runnable r, находящиеся в очереди сообщений.

RemoveCallbacksAndMessages(Object)

Удалите все ожидающие записи обратных вызовов и отправленные сообщения, чьи var obj</var — <var>token</var>>.><

RemoveMessages(Int32, Object)

Удалите все ожидающие записи сообщений с кодом "what" и чьи obj является "объектом", которые находятся в очереди сообщений.

RemoveMessages(Int32)

Удалите все ожидающие записи сообщений с кодом "что" в очереди сообщений.

SendEmptyMessage(Int32)

Отправляет сообщение, содержащее только значение.

SendEmptyMessageAtTime(Int32, Int64)

Отправляет сообщение, содержащее только то, какое значение будет доставлено в определенное время.

SendEmptyMessageDelayed(Int32, Int64)

Отправляет сообщение, содержащее только значение, которое должно быть доставлено после указанного периода времени.

SendMessage(Message)

Отправляет сообщение в конец очереди сообщений после всех ожидающих сообщений до текущего времени.

SendMessageAtFrontOfQueue(Message)

Введите сообщение перед очередью сообщений, которое будет обработано в следующей итерации цикла сообщений.

SendMessageAtTime(Message, Int64)

Заклоните сообщение в очередь сообщений после всех ожидающих сообщений до абсолютного времени (в миллисекундах) <var>uptimeMillis</var>.

SendMessageDelayed(Message, Int64)

Заквяжите сообщение в очередь сообщений после всех ожидающих сообщений до (текущее время и задержкаMillis).

SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
ToArray<T>()

Обработчик позволяет отправлять и обрабатывать Message и запускать объекты, связанные с потоком MessageQueue.

(Унаследовано от Object)
ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
UnregisterFromRuntime()

Обработчик позволяет отправлять и обрабатывать Message и запускать объекты, связанные с потоком MessageQueue.

(Унаследовано от Object)
Wait()

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>помощи уведомления</em> или <эм>прерванного</em>.

(Унаследовано от Object)
Wait(Int64, Int32)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)
Wait(Int64)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)

Явные реализации интерфейса

IJavaPeerable.Disposed()

Обработчик позволяет отправлять и обрабатывать Message и запускать объекты, связанные с потоком MessageQueue.

(Унаследовано от Object)
IJavaPeerable.DisposeUnlessReferenced()

Обработчик позволяет отправлять и обрабатывать Message и запускать объекты, связанные с потоком MessageQueue.

(Унаследовано от Object)
IJavaPeerable.Finalized()

Обработчик позволяет отправлять и обрабатывать Message и запускать объекты, связанные с потоком MessageQueue.

(Унаследовано от Object)
IJavaPeerable.JniManagedPeerState

Обработчик позволяет отправлять и обрабатывать Message и запускать объекты, связанные с потоком MessageQueue.

(Унаследовано от Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Обработчик позволяет отправлять и обрабатывать Message и запускать объекты, связанные с потоком MessageQueue.

(Унаследовано от Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Обработчик позволяет отправлять и обрабатывать Message и запускать объекты, связанные с потоком MessageQueue.

(Унаследовано от Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Обработчик позволяет отправлять и обрабатывать Message и запускать объекты, связанные с потоком MessageQueue.

(Унаследовано от Object)

Методы расширения

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверяемого средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Обработчик позволяет отправлять и обрабатывать Message и запускать объекты, связанные с потоком MessageQueue.

GetJniTypeName(IJavaPeerable)

Обработчик позволяет отправлять и обрабатывать Message и запускать объекты, связанные с потоком MessageQueue.

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