次の方法で共有


Binder クラス

定義

リモートテーブル オブジェクトの基本クラス。リモート プロシージャ呼び出しメカニズムで定義された IBinder軽量リモート プロシージャ呼び出しメカニズムの中核部分です。

[Android.Runtime.Register("android/os/Binder", DoNotGenerateAcw=true)]
public class Binder : Java.Lang.Object, Android.OS.IBinder, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/os/Binder", DoNotGenerateAcw=true)>]
type Binder = class
    inherit Object
    interface IBinder
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
継承
Binder
属性
実装

注釈

リモートテーブル オブジェクトの基本クラス。リモート プロシージャ呼び出しメカニズムで定義された IBinder軽量リモート プロシージャ呼び出しメカニズムの中核部分です。 このクラスは、このようなオブジェクトの標準のローカル実装を提供する IBinder の実装です。

ほとんどの開発者は、このクラスを直接実装するのではなく、aidl ツールを使用して目的のインターフェイスを記述し、適切な Binder サブクラスを生成します。 ただし、Binder から直接派生して独自のカスタム RPC プロトコルを実装したり、未加工の Binder オブジェクトを直接インスタンス化して、プロセス間で共有できるトークンとして使用したりできます。

このクラスは基本的な IPC プリミティブにすぎません。アプリケーションのライフサイクルに影響はなく、アプリケーションを作成したプロセスが引き続き実行されている限り有効です。 これを正しく使用するには、プロセスを実行し続ける必要があることをシステムに知らせる最上位レベルのアプリケーション コンポーネント (a android.app.Serviceandroid.app.Activityまたは android.content.ContentProvider) のコンテキスト内で実行する必要があります。

プロセスが終了する可能性がある状況に留意する必要があります。そのため、後で新しいバインダーを再作成し、プロセスが再び開始されたときに再アタッチする必要があります。 たとえば、アクティビティ android.app.Activityが開始されないたびにアクティビティのプロセスが強制終了される可能性があります。アクティビティが後で再作成された場合は、新しいバインダーを作成して、もう一度正しい場所に戻す必要があります。アクティビティの再作成を伴わない別の理由 (ブロードキャストの受信など) でプロセスが開始される可能性があることに注意する必要があります。新しいバインダーを作成するコード。

の Java ドキュメントandroid.os.Binder

このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

Binder()

既定のコンストラクターは、オブジェクトを初期化するだけです。

Binder(IntPtr, JniHandleOwnership)

JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。

Binder(String)

記述子と共に生の Binder オブジェクト (トークン) を作成するためのコンストラクター。

プロパティ

CallingPid

処理中の現在のトランザクションを送信したプロセスの ID を返します。

CallingUid

処理中の現在のトランザクションを送信したプロセスに割り当てられた Linux UID を返します。

CallingUidOrThrow

現在処理中のトランザクションを送信したプロセスに割り当てられている Linux UID を返します。

CallingUserHandle

処理中の現在のトランザクションを送信したプロセスに割り当てられた UserHandle を返します。

CallingWorkSourceUid

呼び出し元によって設定された作業ソースを返します。

Class

この Objectランタイム クラスを返します。

(継承元 Object)
Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
InterfaceDescriptor

既定の実装では、空のインターフェイス名が返されます。

IsBinderAlive

追加する

        Note that if you're calling on a local binder, this always returns true
        because your process is alive if you're calling it.
JniIdentityHashCode

リモートテーブル オブジェクトの基本クラス。リモート プロシージャ呼び出しメカニズムで定義された IBinder軽量リモート プロシージャ呼び出しメカニズムの中核部分です。

(継承元 Object)
JniPeerMembers

リモートテーブル オブジェクトの基本クラス。リモート プロシージャ呼び出しメカニズムで定義された IBinder軽量リモート プロシージャ呼び出しメカニズムの中核部分です。

PeerReference

リモートテーブル オブジェクトの基本クラス。リモート プロシージャ呼び出しメカニズムで定義された IBinder軽量リモート プロシージャ呼び出しメカニズムの中核部分です。

(継承元 Object)
ThresholdClass

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

ThresholdType

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

メソッド

AttachInterface(IInterface, String)

特定のインターフェイスをバインダーに関連付けるための便利な方法。

ClearCallingIdentity()

現在のスレッドで受信 IPC の ID をリセットします。

ClearCallingWorkSource()

このスレッドの作業ソースをクリアします。

Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
Dispose()

リモートテーブル オブジェクトの基本クラス。リモート プロシージャ呼び出しメカニズムで定義された IBinder軽量リモート プロシージャ呼び出しメカニズムの中核部分です。

(継承元 Object)
Dispose(Boolean)

リモートテーブル オブジェクトの基本クラス。リモート プロシージャ呼び出しメカニズムで定義された IBinder軽量リモート プロシージャ呼び出しメカニズムの中核部分です。

(継承元 Object)
Dump(FileDescriptor, PrintWriter, String[])

オブジェクトの状態を特定のストリームに出力します。

Dump(FileDescriptor, String[])

より便利なバージョン #dump(FileDescriptor, PrintWriter, String[])を呼び出すために実装されています。

DumpAsync(FileDescriptor, String[])

同様 #dump(FileDescriptor, String[])ですが、ターゲットが非同期的に実行されるようにします。

Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
FlushPendingCommands()

現在のスレッドで保留中の Binder コマンドをカーネル ドライバーにフラッシュします。

GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
JavaFinalize()

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
JoinThreadPool()

呼び出し元のスレッドを IPC スレッド プールに追加します。

LinkToDeath(IBinderDeathRecipient, Int32)

ローカル実装は操作不要です。

Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
OnTransact(Int32, Parcel, Parcel, Int32)

既定の実装は、false を返すスタブです。

PingBinder()

既定の実装では常に true が返されます。ここで取得した場合、オブジェクトは有効です。

QueryLocalInterface(String)

指定された情報を使用して #attachInterface attachInterface() 、要求された記述子と一致する場合に関連付けられた IInterface 情報を返します。

RestoreCallingIdentity(Int64)

現在のスレッドの受信 IPC の ID を、以前に返された ID に復元します #clearCallingIdentity

RestoreCallingWorkSource(Int64)

によって返される#setCallingWorkSourceUid(int)トークンを使用して、このスレッドの作業ソースを復元します。#clearCallingWorkSource()

SetCallingWorkSourceUid(Int32)

このスレッドの作業ソースを設定します。

SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
ToArray<T>()

リモートテーブル オブジェクトの基本クラス。リモート プロシージャ呼び出しメカニズムで定義された IBinder軽量リモート プロシージャ呼び出しメカニズムの中核部分です。

(継承元 Object)
ToString()

オブジェクトの文字列表現を返します。

(継承元 Object)
Transact(Int32, Parcel, Parcel, TransactionFlags)

既定の実装では、パーセルと onTransact 呼び出しが巻き戻されます。

UnlinkToDeath(IBinderDeathRecipient, Int32)

ローカル実装は操作不要です。

UnregisterFromRuntime()

リモートテーブル オブジェクトの基本クラス。リモート プロシージャ呼び出しメカニズムで定義された IBinder軽量リモート プロシージャ呼び出しメカニズムの中核部分です。

(継承元 Object)
Wait()

現在のスレッドが目覚めるまで待機させます。通常<は、通知<>/em> または <em>割り込み/em> を受け<取ります。

(継承元 Object)
Wait(Int64)

現在のスレッドが目覚めるまで待機します。通常<><は、通知/em> または <em>中断</em> によって、または一定のリアルタイムが経過するまで待機します。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドが目覚めるまで待機します。通常<><は、通知/em> または <em>中断</em> によって、または一定のリアルタイムが経過するまで待機します。

(継承元 Object)

明示的なインターフェイスの実装

IJavaPeerable.Disposed()

リモートテーブル オブジェクトの基本クラス。リモート プロシージャ呼び出しメカニズムで定義された IBinder軽量リモート プロシージャ呼び出しメカニズムの中核部分です。

(継承元 Object)
IJavaPeerable.DisposeUnlessReferenced()

リモートテーブル オブジェクトの基本クラス。リモート プロシージャ呼び出しメカニズムで定義された IBinder軽量リモート プロシージャ呼び出しメカニズムの中核部分です。

(継承元 Object)
IJavaPeerable.Finalized()

リモートテーブル オブジェクトの基本クラス。リモート プロシージャ呼び出しメカニズムで定義された IBinder軽量リモート プロシージャ呼び出しメカニズムの中核部分です。

(継承元 Object)
IJavaPeerable.JniManagedPeerState

リモートテーブル オブジェクトの基本クラス。リモート プロシージャ呼び出しメカニズムで定義された IBinder軽量リモート プロシージャ呼び出しメカニズムの中核部分です。

(継承元 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

リモートテーブル オブジェクトの基本クラス。リモート プロシージャ呼び出しメカニズムで定義された IBinder軽量リモート プロシージャ呼び出しメカニズムの中核部分です。

(継承元 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

リモートテーブル オブジェクトの基本クラス。リモート プロシージャ呼び出しメカニズムで定義された IBinder軽量リモート プロシージャ呼び出しメカニズムの中核部分です。

(継承元 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

リモートテーブル オブジェクトの基本クラス。リモート プロシージャ呼び出しメカニズムで定義された IBinder軽量リモート プロシージャ呼び出しメカニズムの中核部分です。

(継承元 Object)

拡張メソッド

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

リモートテーブル オブジェクトの基本クラス。リモート プロシージャ呼び出しメカニズムで定義された IBinder軽量リモート プロシージャ呼び出しメカニズムの中核部分です。

GetJniTypeName(IJavaPeerable)

リモートテーブル オブジェクトの基本クラス。リモート プロシージャ呼び出しメカニズムで定義された IBinder軽量リモート プロシージャ呼び出しメカニズムの中核部分です。

適用対象