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.
Обработчик используется в двух main: (1) для планирования выполнения сообщений и запуска на определенный момент в будущем и (2) для постановки в очередь действия, выполняемого в потоке, отличном от вашего.
Планирование сообщений выполняется с помощью #post
методов , #postAtTime(Runnable, long)
, #postDelayed
, #sendEmptyMessage
, #sendMessage
, и #sendMessageAtTime
#sendMessageDelayed
. Версии <em>post</em> позволяют помещать в очередь запускаемые объекты, вызываемые очередью сообщений при их получении; <версии em>sendMessage</em> позволяют помещать в очередь Message
объект, содержащий пакет данных, которые будут обрабатываться методом Обработчика #handleMessage
(для реализации подкласса Handler).
При публикации или отправке обработчику можно разрешить обработку элемента, как только очередь сообщений будет готова к этому, или указать задержку перед обработкой или абсолютное время для его обработки. Последние два позволяют реализовать время ожидания, такты и другое поведение на основе времени.
При создании процесса для приложения его main поток выделяется для запуска очереди сообщений, которая отвечает за управление объектами приложения верхнего уровня (действиями, широковещательными приемниками и т. д.) и любыми создаваемыми ими окнами. Вы можете создавать собственные потоки и взаимодействовать с потоком приложения main через обработчик. Для этого вызывается тот же <метод em>post</em> или <em>sendMessage</em> , что и раньше, но из нового потока. Затем заданный параметр Runnable или Message будет запланирован в очереди сообщений обработчика и обработан при необходимости.
Документация по Java для android.os.Handler
.
Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом Android и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License.
Конструкторы
Handler() |
Конструктор по умолчанию связывает этот обработчик с |
Handler(Action<Message>) |
Обработчик позволяет отправлять и обрабатывать |
Handler(Handler+ICallback) |
Конструктор связывает этот обработчик с Looper для текущего потока и принимает интерфейс обратного вызова, в котором можно обрабатывать сообщения. |
Handler(IntPtr, JniHandleOwnership) |
Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения. |
Handler(Looper) |
Используйте предоставленный |
Handler(Looper, Handler+ICallback) |
Используйте предоставленный Looper вместо по умолчанию интерфейс обратного вызова, в котором будут обрабатываться сообщения. |
Свойства
Class |
Возвращает класс среды выполнения данного объекта |
Handle |
Дескриптор базового экземпляра Android. (Унаследовано от Object) |
JniIdentityHashCode |
Обработчик позволяет отправлять и обрабатывать |
JniPeerMembers |
Обработчик позволяет отправлять и обрабатывать |
Looper | |
PeerReference |
Обработчик позволяет отправлять и обрабатывать |
ThresholdClass |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
ThresholdType |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
Методы
Clone() |
Создает и возвращает копию этого объекта. (Унаследовано от Object) |
CreateAsync(Looper) |
Создайте обработчик, опубликованные сообщения и исполняемые файлы которого не подвержены барьерам синхронизации, таким как видеосинхронная синхронизация. |
CreateAsync(Looper, Handler+ICallback) |
Создайте обработчик, опубликованные сообщения и исполняемые файлы которого не подвержены барьерам синхронизации, таким как видеосинхронная синхронизация. |
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) |
Проверьте, есть ли какие-либо ожидающие записи сообщений с кодом what в очереди сообщений. |
HasMessages(Int32, Object) |
Проверьте, есть ли в очереди сообщений ожидающие публикации сообщений с кодом what и obj которых имеет значение object. |
JavaFinalize() |
Вызывается сборщиком мусора для объекта , когда сборка мусора определяет, что больше нет ссылок на объект . (Унаследовано от Object) |
Notify() |
Пробуждает один поток, ожидающий монитора этого объекта. (Унаследовано от Object) |
NotifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. (Унаследовано от Object) |
ObtainMessage() |
Возвращает новый |
ObtainMessage(Int32) |
То же, что и |
ObtainMessage(Int32, Int32, Int32) |
То же, что и |
ObtainMessage(Int32, Int32, Int32, Object) |
|
ObtainMessage(Int32, Object) |
То же самое, что и |
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) |
Обработчик позволяет отправлять и обрабатывать |
RemoveCallbacks(Action, Object) |
Обработчик позволяет отправлять и обрабатывать |
RemoveCallbacks(IRunnable) |
Удалите все ожидающие записи runnable r, которые находятся в очереди сообщений. |
RemoveCallbacks(IRunnable, Object) |
Удалите все ожидающие записи runnable <var>r</var> с object <var>token</var> , которые находятся в очереди сообщений. |
RemoveCallbacksAndMessages(Object) |
Удалите все ожидающие записи обратных вызовов и отправленных сообщений, для которых <var obj</var> имеет значение <var>token</var>>. |
RemoveMessages(Int32) |
Удалите все ожидающие записи сообщений с кодом what, которые находятся в очереди сообщений. |
RemoveMessages(Int32, Object) |
Удалите все ожидающие записи сообщений с кодом what и obj которых — object, которые находятся в очереди сообщений. |
SendEmptyMessage(Int32) |
Отправляет сообщение, содержащее только значение типа . |
SendEmptyMessageAtTime(Int32, Int64) |
Отправляет сообщение, содержащее только значение , которое будет доставлено в определенное время. |
SendEmptyMessageDelayed(Int32, Int64) |
Отправляет сообщение, содержащее только значение типа , которое должно быть доставлено по истечении указанного времени. |
SendMessage(Message) |
Отправляет сообщение в конец очереди сообщений после всех ожидающих сообщений до текущего времени. |
SendMessageAtFrontOfQueue(Message) |
Постановка сообщения в очередь сообщений для обработки при следующей итерации цикла сообщений. |
SendMessageAtTime(Message, Int64) |
Постановка сообщения в очередь сообщений после всех ожидающих сообщений до абсолютного времени (в миллисекундах) <var>uptimeMillis</var>. |
SendMessageDelayed(Message, Int64) |
Постановка сообщения в очередь сообщений после всех ожидающих сообщений до (текущее время + delayMillis). |
SetHandle(IntPtr, JniHandleOwnership) |
Задает свойство Handle. (Унаследовано от Object) |
ToArray<T>() |
Обработчик позволяет отправлять и обрабатывать |
ToString() |
Возвращает строковое представление объекта. (Унаследовано от Object) |
UnregisterFromRuntime() |
Обработчик позволяет отправлять и обрабатывать |
Wait() |
Вызывает ожидание текущего потока, пока он не пробудится, как правило, из-за <уведомления><<> или>прерывания или прерывания.>< (Унаследовано от Object) |
Wait(Int64) |
Вызывает ожидание текущего потока, пока он не пробудится, как правило, путем <уведомления><<> или>прерывания или прерывания<> или до истечения определенного количества реального времени. (Унаследовано от Object) |
Wait(Int64, Int32) |
Вызывает ожидание текущего потока, пока он не пробудится, как правило, путем <уведомления><<> или>прерывания или прерывания<> или до истечения определенного количества реального времени. (Унаследовано от 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) |
Обработчик позволяет отправлять и обрабатывать |