到顶部
Android API
公众的

经办人

延伸对象
java.lang.Object对象
   ↳ android.os。经办人
已知的直接子类

课程概述

处理程序允许您发送和处理消息和可运行与线程关联的对象消息队列.每个处理程序实例与单个线程和该线程的消息关联队列。创建新的Handler时,它被绑定到线程/创建线程的消息队列--从那时起,它将向该消息队列传递消息和可运行项并执行当他们从消息队列中出来时。

Handler有两个主要用途:(1)调度消息和可在将来某个时间点执行;和(2)排队要在不同于您自己的线程上执行的操作。

调度消息是用post(可运行)postAtTime(可运行,长)postDelayed(可运行,长)发送空消息(int)sendMessage(消息)发送消息时间(消息,长)、和sendMessageDelayed(消息,长)方法。这个邮递版本允许当消息队列调用Runnable对象时已收到;这个发送消息版本允许您入队消息对象包含将由处理者处理handleMessage(消息)方法(要求实现Handler的子类)。

当过帐或发送给处理程序时,您可以一旦消息队列就绪,就允许处理该项这样做,或指定处理前的延迟或绝对时间它将被处理。后两者允许您实现超时,以及其他基于计时的行为。

进程是为应用程序创建的,其主线程专用于运行负责管理顶层的消息队列应用程序对象(活动、广播接收器等)和任何窗口他们创造了。您可以创建自己的线程,并与通过Handler的主应用程序线程。这是通过致电相同的邮递发送消息方法,但来自你的新线程。然后将安排给定的Runnable或Message在处理程序的消息队列中,并在适当时进行处理。

总结

内部类
接口 处理程序。回拨 实例化处理程序时可以使用回调接口,以避免必须实现自己的Handler子类。 
公共建筑商
经办人()
默认构造函数将此处理程序与活套对于当前线程。
经办人(处理程序。回拨回调)
构造函数将此处理程序与活套对于当前线程并接受回调接口,您可以在其中处理信息。
经办人(活套活套)
使用提供的活套而不是默认的。
经办人(活套活套,处理程序。回拨回调)
使用提供的活套而不是默认的并进行回调处理消息的接口。
公共方法
空隙 发送消息(消息消息)
在此处处理系统消息。
最终的空隙 倾倒(打印机密码,字符串前缀)
最终的活套 获取Looper()
字符串 获取消息名称(消息消息)
返回表示指定消息名称的字符串。
空隙 handleMessage(处理消息)(消息消息)
子类必须实现此功能才能接收消息。
最终的布尔值 has消息(int什么,对象对象)
检查是否有代码为“what”和其obj是消息队列中的“object”。
最终的布尔值 has消息(输入内容)
检查是否有代码为“what”的消息挂起消息队列。
最终的消息 获取消息(int what,int arg1,int arg2)
等同于获取消息(),除了它还设置返回的消息。
最终的消息 获取消息()
返回一个新消息来自全局消息池。
最终的消息 获取消息(int what,int arg1,int arg2,对象对象)
等同于获取消息(),除了它还设置返回消息。
最终的消息 获取消息(int什么)
等同于获取消息(),除了它还设置返回消息的成员。
最终的消息 获取消息(int什么,对象对象)
等同于获取消息(),除了它还设置what和obj成员返回消息的。
最终的布尔值 邮递(可运行r)
使Runnable r添加到消息队列中。
最终的布尔值 postAtFrontOfQueue(可运行r)
向实现Runnable的对象发布消息。
最终的布尔值 postAtTime(发送时间)(可运行第页,共页,对象令牌,长时间运行Millis)
使Runnable r添加到消息队列中以运行在给定的特定时间正常运行时间Millis.
最终的布尔值 postAtTime(发送时间)(可运行r、 长时间上升(百万)
使Runnable r添加到消息队列中以运行在给定的特定时间上升百万.
最终的布尔值 post延迟(可运行r、 长延迟Millis)
使Runnable r添加到消息队列中以运行经过指定的时间后。
最终的空隙 删除回调(可运行r)
删除消息队列中Runnable r的所有挂起帖子。
最终的空隙 删除回调(可运行第页,共页,对象代币)
删除Runnable的所有挂起帖子第页使用对象代币消息队列中的。
最终的空隙 删除回调和消息(对象代币)
删除任何未挂起的回调帖子和发送的消息对象代币.
最终的空隙 删除消息(int什么)
删除中代码为“what”的任何挂起的邮件帖子消息队列。
最终的空隙 删除消息(int什么,对象对象)
删除代码为“what”且obj是谁的消息的所有挂起帖子消息队列中的“对象”。
最终的布尔值 发送空消息(int什么)
发送仅包含what值的消息。
最终的布尔值 发送空消息时间(int what,长正常运行时间Millis)
发送仅包含要传递的值的消息在特定的时间。
最终的布尔值 发送空消息已延迟(int what,长延迟Millis)
发送仅包含要传递的值的消息经过指定的时间后。
最终的布尔值 发送消息(消息消息)
在所有挂起的消息之后将消息推送到消息队列的末尾在当前时间之前。
最终的布尔值 在FrontOfQueue发送消息(消息消息)
在消息队列的前端排队消息,以便在其上进行处理消息循环的下一次迭代。
布尔值 发送消息时间(消息消息,长时间正常运行Millis)
在所有挂起的消息之后将消息排入消息队列绝对时间之前(毫秒)正常运行时间Millis.
最终的布尔值 发送消息延迟(消息消息,长时间延迟Millis)
在所有挂起的消息之后将消息排入消息队列之前(当前时间+延迟Millis)。
字符串 toString(字符串)()
返回一个字符串,该字符串包含此对象。
[展开]
继承的方法
来自班级java.lang.Object对象

公共建筑商

公众的 经办人 ()

已在中添加API级别1

默认构造函数将此处理程序与活套对于当前线程。如果此线程没有循环器,则此处理程序将无法接收消息因此抛出一个异常。

公众的 经办人 (处理程序。回拨回调)

构造函数将此处理程序与活套对于当前线程并接受回调接口,您可以在其中处理信息。如果此线程没有循环器,则此处理程序将无法接收消息因此抛出一个异常。

参数
回调 用于处理消息的回调接口,或为null。

公众的 经办人 (活套活套)

已在中添加API级别1

使用提供的活套而不是默认的。

参数
活套 循环器不能为null。

公众的 经办人 (活套活套,处理程序。回拨回调)

使用提供的活套而不是默认的,并进行回调处理消息的接口。

参数
活套 循环器不能为null。
回调 用于处理消息的回调接口,或为null。

公共方法

公众空隙 发送消息 (消息消息)

已在中添加API级别1

在此处处理系统消息。

公众最终空隙 倾倒 (打印机密码,字符串前缀)

已在中添加API级别1

公众最终的活套 获取Looper ()

已在中添加API级别1

公众的字符串 获取消息名称 (消息消息)

已在中添加API级别14

返回表示指定消息名称的字符串。默认实现将返回消息回调(如果有),或消息“what”字段。

参数
消息 正在查询其名称的消息

公众空隙 handleMessage(处理消息) (消息消息)

已在中添加API级别1

子类必须实现此功能才能接收消息。

公众最终布尔值 has消息 (int什么,对象对象)

已在中添加API级别1

检查是否有代码为“what”和其obj是消息队列中的“object”。

公众最终布尔值 has消息 (int什么)

已在中添加API级别1

检查是否有代码为“what”的消息挂起消息队列。

公众最终的消息 获取消息 (int what,int arg1,int arg2)

已在中添加API级别1

等同于获取消息(),除了它还设置返回的消息。

参数
什么 要分配给返回的Message.what字段的值。
参数1 要分配给返回的Message.arg1字段的值。
参数2 要分配给返回的Message.arg2字段的值。
退换商品
  • 来自全局消息池的消息。

公众最终的消息 获取消息 ()

已在中添加API级别1

返回一个新消息来自全局消息池。效率高于创建和分配新实例。检索到的消息将其处理程序设置为此实例(message.target==this)。如果您不需要该功能,只需调用Message.obtain()即可。

公众最终的消息 获取消息 (int what,int arg1,int arg2,对象对象)

已在中添加API级别1

等同于获取消息(),除了它还设置返回消息。

参数
什么 要分配给返回的Message.what字段的值。
参数1 要分配给返回的Message.arg1字段的值。
参数2 要分配给返回的Message.arg2字段的值。
对象 要分配给返回的Message.obj字段的值。
退换商品
  • 来自全局消息池的消息。

公众最终的消息 获取消息 (int什么)

已在中添加API级别1

等同于获取消息(),除了它还设置返回消息的成员。

参数
什么 要分配给返回的Message.what字段的值。
退换商品
  • 来自全局消息池的消息。

公众最终的消息 获取消息 (int什么,对象对象)

已在中添加API级别1

等同于获取消息(),除了它还设置what和obj成员返回消息的。

参数
什么 要分配给返回的Message.what字段的值。
对象 要分配给返回的Message.obj字段的值。
退换商品
  • 来自全局消息池的消息。

公众最终布尔值 邮递 (可运行r)

已在中添加API级别1

使Runnable r添加到消息队列中。runnable将在该处理程序所在的线程上运行附属的。

参数
第页 将执行的Runnable。
退换商品
  • 如果Runnable成功放入消息队列。失败时返回false,通常是因为处理消息队列的活套正在退出。

公众最终布尔值 postAtFrontOfQueue (可跑步r)

已在中添加API级别1

向实现Runnable的对象发布消息。使Runnable r在下一次迭代时通过消息队列。runnable将在该线程上运行处理程序已连接。这种方法只适用于非常特殊的情况很容易使消息队列饥饿,导致排序问题,或者其他意想不到的副作用。

参数
第页 将执行的Runnable。
退换商品
  • 如果消息已成功放入消息队列。失败时返回false,通常是因为处理消息队列的活套正在退出。

公众最终布尔值 后AtTime (可运行第页,共页,对象令牌,长时间运行Millis)

已在中添加API级别1

使Runnable r添加到消息队列中以运行在给定的特定时间正常运行时间Millis.时基是正常运行时间Millis().runnable将在附加此处理程序的线程上运行。

参数
第页 将执行的Runnable。
正常运行时间Millis 回调应该运行的绝对时间,使用正常运行时间Millis()时基。
退换商品
  • 如果Runnable成功放入消息队列。失败时返回false,通常是因为处理消息队列的活套正在退出。请注意true的结果并不意味着将处理Runnable--如果在消息传递时间之前退出活套则消息将被删除。
另请参阅

公众最终布尔值 postAtTime(发送时间) (可运行r、 长时间上升(百万)

已在中添加API级别1

使Runnable r添加到消息队列中以运行在给定的特定时间正常运行时间Millis.时基是正常运行时间Millis().runnable将在附加此处理程序的线程上运行。

参数
第页 将执行的Runnable。
正常运行时间Millis 回调应该运行的绝对时间,使用正常运行时间Millis()时基。
退换商品
  • 如果Runnable成功放入消息队列。失败时返回false,通常是因为处理消息队列的活套正在退出。请注意true的结果并不意味着将处理Runnable--如果在消息传递时间之前退出活套则消息将被删除。

公众最终布尔值 post延迟 (可运行r、 长延迟Millis)

已在中添加API级别1

使Runnable r添加到消息队列中以运行经过指定的时间后。runnable将在该处理程序的线程上运行已附加。

参数
第页 将执行的Runnable。
德莱·米利斯 到Runnable之前的延迟(毫秒)将执行。
退换商品
  • 如果Runnable成功放入消息队列。失败时返回false,通常是因为处理消息队列的活套正在退出。请注意true的结果并不意味着将处理Runnable--如果活套在消息传递时间之前退出则消息将被删除。

公众最终空隙 删除回调 (可运行r)

已在中添加API级别1

删除消息队列中Runnable r的所有挂起的帖子。

公众最终空隙 删除回调 (可运行第页,共页,对象代币)

已在中添加API级别1

删除Runnable的所有挂起帖子第页使用对象代币消息队列中的。如果代币为空,所有回调都将被删除。

公众最终空隙 删除回调和消息 (对象代币)

已在中添加API级别1

删除任何未挂起的回调帖子和发送的消息对象代币.如果代币为空,所有回调和消息都将被删除。

公众最终空隙 删除消息 (int什么)

已在中添加API级别1

删除中代码为“what”的任何挂起的邮件帖子消息队列。

公众最终空隙 删除消息 (int什么,对象对象)

已在中添加API级别1

删除代码为“what”且obj是谁的消息的所有挂起帖子消息队列中的“对象”。如果对象为空,所有邮件都将被删除。

公众最终布尔值 发送空消息 (int什么)

已在中添加API级别1

发送仅包含what值的消息。

退换商品
  • 如果消息已成功放入消息队列。失败时返回false,通常是因为处理消息队列的活套正在退出。

公众最终布尔值 发送空消息时间 (int what,长正常运行时间Millis)

已在中添加API级别1

发送仅包含要传递的值的消息在特定的时间。

退换商品
  • 如果消息已成功放入消息队列。失败时返回false,通常是因为正在退出处理消息队列的活套。

公众最终布尔值 发送空消息已延迟 (输入什么,延时很长Millis)

已在中添加API级别1

发送仅包含要传递的值的消息经过指定的时间后。

退换商品
  • 如果消息已成功放入消息队列。失败时返回false,通常是因为处理消息队列的活套正在退出。

公众最终布尔值 发送消息 (消息消息)

已在中添加API级别1

在所有挂起的消息之后将消息推送到消息队列的末尾在当前时间之前。将在收到handleMessage(消息)在附加到此处理程序的线程中。

退换商品
  • 如果消息已成功放入消息队列。失败时返回false,通常是因为处理消息队列的活套正在退出。

公众最终布尔值 在FrontOfQueue发送消息 (消息消息)

已在中添加API级别1

在消息队列的前端排队消息,以便在其上进行处理消息循环的下一次迭代。你会收到的handleMessage(消息),位于附加到此处理程序的线程中。这种方法只适用于非常特殊的情况很容易使消息队列饥饿,导致排序问题,或者其他意想不到的副作用。

退换商品
  • 如果消息已成功放入消息队列。失败时返回false,通常是因为处理消息队列的活套正在退出。

公众布尔值 发送消息时间 (消息消息,长时间正常运行Millis)

已在中添加API级别1

在所有挂起的消息之后将消息排入消息队列绝对时间之前(毫秒)正常运行时间Millis.时基为正常运行时间Millis().你会收到的handleMessage(消息),在连接的螺纹中发送到此处理程序。

参数
正常运行时间Millis 消息应处于的绝对时间交付,使用正常运行时间Millis()时基。
退换商品
  • 如果消息已成功放入消息队列。失败时返回false,通常是因为正在退出处理消息队列的活套。请注意true的结果并不意味着消息将被处理--如果在消息传递时间之前退出活套则消息将被删除。

公众最终布尔值 发送消息延迟 (消息消息,长时间延迟Millis)

已在中添加API级别1

在所有挂起的消息之后将消息排入消息队列之前(当前时间+延迟Millis)。你会收到的handleMessage(消息),位于附加到此处理程序的线程中。

退换商品
  • 如果消息已成功放入消息队列。失败时返回false,通常是因为处理消息队列的活套正在退出。请注意true的结果并不意味着消息将被处理--如果在消息传递时间之前退出活套则消息将被删除。

公众的字符串 toString(字符串) ()

已在中添加API级别1

返回一个字符串,该字符串包含此对象。鼓励子类重写此方法并提供考虑对象类型和数据的实现。这个默认实现等效于以下表达式:

getClass().getName()+“@”+整数.toHexString(hashCode())

请参见编写有用的toString(字符串)方法如果你打算实现你自己的toString(字符串)方法。

退换商品
  • 此对象的可打印表示。