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
- Наследование
- Производный
- Атрибуты
Комментарии
Обработчик позволяет отправлять и обрабатывать 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() |
Конструктор по умолчанию связывает этот обработчик с текущим потоком |
Handler(Action<Message>) |
Обработчик позволяет отправлять и обрабатывать |
Handler(Handler+ICallback) |
Конструктор связывает этот обработчик с Looper текущим потоком и принимает интерфейс обратного вызова, в котором можно обрабатывать сообщения. |
Handler(IntPtr, JniHandleOwnership) |
Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения. |
Handler(Looper, Handler+ICallback) |
Используйте предоставленный Looper вместо по умолчанию интерфейс обратного вызова, в котором обрабатываются сообщения. |
Handler(Looper) |
Используйте предоставленный |
Свойства
Class |
Возвращает класс среды выполнения этого |
Handle |
Дескриптор базового экземпляра Android. (Унаследовано от Object) |
JniIdentityHashCode |
Обработчик позволяет отправлять и обрабатывать |
JniPeerMembers |
Обработчик позволяет отправлять и обрабатывать |
Looper | |
PeerReference |
Обработчик позволяет отправлять и обрабатывать |
ThresholdClass |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
ThresholdType |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
Методы
Clone() |
Создает и возвращает копию этого объекта. (Унаследовано от Object) |
CreateAsync(Looper, Handler+ICallback) |
Создайте обработчик, опубликованные сообщения и выполняемые элементы, не подвержены барьерам синхронизации, таким как отображение vsync. |
CreateAsync(Looper) |
Создайте обработчик, опубликованные сообщения и выполняемые элементы, не подвержены барьерам синхронизации, таким как отображение vsync. |
DispatchMessage(Message) |
Обработайте системные сообщения здесь. |
Dispose() |
Обработчик позволяет отправлять и обрабатывать |
Dispose(Boolean) |
Обработчик позволяет отправлять и обрабатывать |
Dump(IPrinter, String) | |
DumpAsync(IPrinter, String) |
Обработчик позволяет отправлять и обрабатывать |
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() |
Возвращает новый из |
ObtainMessage(Int32, Int32, Int32, Object) |
|
ObtainMessage(Int32, Int32, Int32) |
|
ObtainMessage(Int32, Object) |
|
ObtainMessage(Int32) |
|
Post(Action) |
Обработчик позволяет отправлять и обрабатывать |
Post(IRunnable) |
Вызывает добавление runnable r в очередь сообщений. |
PostAtFrontOfQueue(Action) |
Обработчик позволяет отправлять и обрабатывать |
PostAtFrontOfQueue(IRunnable) |
Публикует сообщение в объект, реализующий Runnable. |
PostAtTime(Action, Int64) |
Обработчик позволяет отправлять и обрабатывать |
PostAtTime(Action, Object, Int64) |
Обработчик позволяет отправлять и обрабатывать |
PostAtTime(IRunnable, Int64) |
Вызывает добавление runnable r в очередь сообщений в определенное время, заданное <var>uptimeMillis</var>. |
PostAtTime(IRunnable, Object, Int64) |
Вызывает добавление runnable r в очередь сообщений в определенное время, заданное <var>uptimeMillis</var>. |
PostDelayed(Action, Int64) |
Обработчик позволяет отправлять и обрабатывать |
PostDelayed(IRunnable, Int64) |
Вызывает добавление runnable r в очередь сообщений после указанного периода времени. |
PostDelayed(IRunnable, Object, Int64) |
Вызывает добавление runnable r в очередь сообщений после указанного периода времени. |
RemoveCallbacks(Action, Object) |
Обработчик позволяет отправлять и обрабатывать |
RemoveCallbacks(Action) |
Обработчик позволяет отправлять и обрабатывать |
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>() |
Обработчик позволяет отправлять и обрабатывать |
ToString() |
Возвращает строковое представление объекта. (Унаследовано от Object) |
UnregisterFromRuntime() |
Обработчик позволяет отправлять и обрабатывать |
Wait() |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>помощи уведомления</em> или <эм>прерванного</em>. (Унаследовано от Object) |
Wait(Int64, Int32) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
Wait(Int64) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
Явные реализации интерфейса
IJavaPeerable.Disposed() |
Обработчик позволяет отправлять и обрабатывать |
IJavaPeerable.DisposeUnlessReferenced() |
Обработчик позволяет отправлять и обрабатывать |
IJavaPeerable.Finalized() |
Обработчик позволяет отправлять и обрабатывать |
IJavaPeerable.JniManagedPeerState |
Обработчик позволяет отправлять и обрабатывать |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Обработчик позволяет отправлять и обрабатывать |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Обработчик позволяет отправлять и обрабатывать |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Обработчик позволяет отправлять и обрабатывать |
Методы расширения
JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверяемого средой выполнения Android. |
JavaCast<TResult>(IJavaObject) |
Обработчик позволяет отправлять и обрабатывать |
GetJniTypeName(IJavaPeerable) |
Обработчик позволяет отправлять и обрабатывать |