Handler クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Handler を使用すると、スレッドMessageQueue
の に関連付けられているオブジェクトと Runnable オブジェクトを送信および処理Message
できます。
[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 を使用すると、スレッドMessageQueue
の に関連付けられているオブジェクトと Runnable オブジェクトを送信および処理Message
できます。 各 Handler インスタンスは、1 つのスレッドとそのスレッドのメッセージ キューに関連付けられます。 新しいハンドラーを作成すると、 に Looper
バインドされます。 その Looper のメッセージ キューにメッセージと実行可能ファイルを配信し、その Looper のスレッドで実行します。
ハンドラーには 2 つのメイン使用があります。(1) 将来のどこかの時点でメッセージと実行可能ファイルを実行するようにスケジュールし、(2) 独自のスレッドで実行されるアクションをエンキューします。
メッセージのスケジュール設定は、、#postAtTime(Runnable, long)
、、#postDelayed
、#sendMessage
#sendEmptyMessage
#sendMessageAtTime
および #sendMessageDelayed
の各メソッドを#post
使用して実行されます。 em post/em> バージョンを使用すると、受信<時にメッセージ キューから呼び出される Runnable オブジェクトをエンキューできます。em>sendMessage</em> バージョンを使用すると、Handler のメソッドによって処理されるデータのバンドルを含むオブジェクトをエンキューMessage
できます (Handler #handleMessage
のサブクラスを実装する必要があります)。<><
ハンドラーに投稿または送信する場合は、メッセージ キューの準備ができたらすぐにアイテムを処理できるようにするか、処理されるまでの遅延または処理の絶対時間を指定できます。 後者の 2 つを使用すると、タイムアウト、ティック、およびその他のタイミングベースの動作を実装できます。
アプリケーションに対してプロセスが作成されると、そのメインスレッドは、最上位レベルのアプリケーション オブジェクト (アクティビティ、ブロードキャスト レシーバーなど) とその作成するウィンドウの管理を処理するメッセージ キューの実行専用です。 独自のスレッドを作成し、ハンドラーを介してメインアプリケーション スレッドと通信できます。 これは、以前と同じ <em>post</em> メソッドまたは <em>sendMessage</em> メソッドを呼び出すことによって行われますが、新しいスレッドから呼び出します。 その後、指定された Runnable または Message がハンドラーのメッセージ キューにスケジュールされ、必要に応じて処理されます。
の android.os.Handler
Java ドキュメント。
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。
コンストラクター
Handler() |
既定のコンストラクターは、このハンドラーを現在のスレッドの に |
Handler(Action<Message>) |
Handler を使用すると、スレッド |
Handler(Handler+ICallback) |
コンストラクターは、このハンドラーを現在のスレッドの に Looper 関連付け、メッセージを処理できるコールバック インターフェイスを受け取ります。 |
Handler(IntPtr, JniHandleOwnership) |
JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。 |
Handler(Looper) |
既定のではなく、 |
Handler(Looper, Handler+ICallback) |
Looper既定のインターフェイスではなく、 を使用し、メッセージを処理するコールバック インターフェイスを使用します。 |
プロパティ
Class |
この |
Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
JniIdentityHashCode |
Handler を使用すると、スレッド |
JniPeerMembers |
Handler を使用すると、スレッド |
Looper | |
PeerReference |
Handler を使用すると、スレッド |
ThresholdClass |
この API は Mono for Android インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
ThresholdType |
この API は Mono for Android インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
メソッド
Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 Object) |
CreateAsync(Looper) |
投稿されたメッセージと実行可能ファイルが、表示 vsync などの同期バリアの対象ではない新しいハンドラーを作成します。 |
CreateAsync(Looper, Handler+ICallback) |
投稿されたメッセージと実行可能ファイルが、表示 vsync などの同期バリアの対象ではない新しいハンドラーを作成します。 |
DispatchMessage(Message) |
ここでシステム メッセージを処理します。 |
Dispose() |
Handler を使用すると、スレッド |
Dispose(Boolean) |
Handler を使用すると、スレッド |
Dump(IPrinter, String) | |
DumpAsync(IPrinter, String) |
Handler を使用すると、スレッド |
Equals(Object) |
他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。 (継承元 Object) |
GetHashCode() |
オブジェクトのハッシュ コード値を返します。 (継承元 Object) |
GetMessageName(Message) |
指定したメッセージの名前を表す文字列を返します。 |
HandleMessage(Message) |
サブクラスは、メッセージを受信するためにこれを実装する必要があります。 |
HasCallbacks(IRunnable) |
メッセージ キューにコールバック r を含むメッセージの保留中の投稿があるかどうかを確認します。 |
HasMessages(Int32) |
メッセージ キューにコード 'what' を含むメッセージの保留中の投稿があるかどうかを確認します。 |
HasMessages(Int32, Object) |
メッセージ キューに、コード 'what' と obj が 'object' であるメッセージの保留中の投稿があるかどうかを確認します。 |
JavaFinalize() |
オブジェクトへの参照がなくなったとガベージ コレクションが判断したときに、オブジェクトのガベージ コレクターによって呼び出されます。 (継承元 Object) |
Notify() |
このオブジェクトのモニターで待機している 1 つのスレッドを起動します。 (継承元 Object) |
NotifyAll() |
このオブジェクトのモニターで待機しているすべてのスレッドを起動します。 (継承元 Object) |
ObtainMessage() |
グローバル メッセージ プールから新しい |
ObtainMessage(Int32) |
|
ObtainMessage(Int32, Int32, Int32) |
|
ObtainMessage(Int32, Int32, Int32, Object) |
|
ObtainMessage(Int32, Object) |
|
Post(Action) |
Handler を使用すると、スレッド |
Post(IRunnable) |
Runnable r をメッセージ キューに追加します。 |
PostAtFrontOfQueue(Action) |
Handler を使用すると、スレッド |
PostAtFrontOfQueue(IRunnable) |
Runnable を実装するオブジェクトにメッセージを投稿します。 |
PostAtTime(Action, Int64) |
Handler を使用すると、スレッド |
PostAtTime(Action, Object, Int64) |
Handler を使用すると、スレッド |
PostAtTime(IRunnable, Int64) |
runnable r をメッセージ キューに追加し、var>uptimeMillis</var によって指定された<特定の時刻に実行されるように>します。 |
PostAtTime(IRunnable, Object, Int64) |
runnable r をメッセージ キューに追加し、var>uptimeMillis</var によって指定された<特定の時刻に実行されるように>します。 |
PostDelayed(Action, Int64) |
Handler を使用すると、スレッド |
PostDelayed(IRunnable, Int64) |
指定した時間が経過した後に、Runnable r をメッセージ キューに追加して実行します。 |
PostDelayed(IRunnable, Object, Int64) |
指定した時間が経過した後に、Runnable r をメッセージ キューに追加して実行します。 |
RemoveCallbacks(Action) |
Handler を使用すると、スレッド |
RemoveCallbacks(Action, Object) |
Handler を使用すると、スレッド |
RemoveCallbacks(IRunnable) |
メッセージ キュー内にある Runnable r の保留中の投稿をすべて削除します。 |
RemoveCallbacks(IRunnable, Object) |
メッセージ キューにある Object var token</var を使用して、Runnable <var>>r</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>() |
Handler を使用すると、スレッド |
ToString() |
オブジェクトの文字列形式を返します。 (継承元 Object) |
UnregisterFromRuntime() |
Handler を使用すると、スレッド |
Wait() |
現在のスレッドが起動するまで待機します。通常<は、通知</em> または>< em 中断</em によって待機します>。> (継承元 Object) |
Wait(Int64) |
現在のスレッドが起動するまで待機します。通常<は、通知></em> または <>em 中断</em>、または特定のリアルタイムが経過するまで待機します。 (継承元 Object) |
Wait(Int64, Int32) |
現在のスレッドが起動するまで待機します。通常<は、通知></em> または <>em 中断</em>、または特定のリアルタイムが経過するまで待機します。 (継承元 Object) |
明示的なインターフェイスの実装
IJavaPeerable.Disposed() |
Handler を使用すると、スレッド |
IJavaPeerable.DisposeUnlessReferenced() |
Handler を使用すると、スレッド |
IJavaPeerable.Finalized() |
Handler を使用すると、スレッド |
IJavaPeerable.JniManagedPeerState |
Handler を使用すると、スレッド |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Handler を使用すると、スレッド |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Handler を使用すると、スレッド |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Handler を使用すると、スレッド |
拡張メソッド
JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
JavaCast<TResult>(IJavaObject) |
Handler を使用すると、スレッド |
GetJniTypeName(IJavaPeerable) |
Handler を使用すると、スレッド |