다음을 통해 공유


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 하위 클래스를 생성합니다. 그러나 바인더에서 직접 파생하여 사용자 지정 RPC 프로토콜을 구현하거나 원시 바인더 개체를 직접 인스턴스화하여 프로세스 간에 공유할 수 있는 토큰으로 사용할 수 있습니다.

이 클래스는 기본 IPC 기본 형식일 뿐입니다. 애플리케이션의 수명 주기에는 영향을 주지 않으며 만든 프로세스가 계속 실행되는 한 유효합니다. 이 작업을 올바르게 사용하려면 시스템에서 프로세스가 계속 실행 중임을 알 수 있도록 하는 최상위 애플리케이션 구성 요소(a android.app.Service, android.app.Activity또는 android.content.ContentProvider)의 컨텍스트 내에서 이 작업을 수행해야 합니다.

프로세스가 사라질 수 있는 상황을 염두에 두어야 하므로 나중에 새 바인더를 다시 만들고 프로세스가 다시 시작될 때 다시 연결해야 합니다. 예를 들어 이 작업을 사용하는 android.app.Activity경우 활동이 시작되지 않을 때마다 활동의 프로세스가 종료될 수 있습니다. 나중에 활동이 다시 만들어지면 새 바인더를 만들고 올바른 위치로 다시 전달해야 합니다. 작업을 다시 만드는 것과 관련이 없는 다른 이유(예: 브로드캐스트 수신)를 위해 프로세스가 시작될 수 있음을 알고 있어야 합니다. 새 바인더를 만드는 코드입니다.

에 대한 android.os.BinderJava 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

생성자

Binder()

기본 생성자는 개체를 초기화합니다.

Binder(IntPtr, JniHandleOwnership)

JNI 개체의 관리되는 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다.

Binder(String)

설명자와 함께 원시 바인더 개체(토큰)를 만들기 위한 생성자입니다.

속성

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()

현재 스레드에서 보류 중인 바인더 명령을 커널 드라이버로 플러시합니다.

GetHashCode()

개체에 대한 해시 코드 값을 반환합니다.

(다음에서 상속됨 Object)
JavaFinalize()

가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다.

(다음에서 상속됨 Object)
JoinThreadPool()

IPC 스레드 풀에 호출 스레드를 추가합니다.

LinkToDeath(IBinderDeathRecipient, Int32)

로컬 구현은 no-op입니다.

Notify()

이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다.

(다음에서 상속됨 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)

로컬 구현은 no-op입니다.

UnregisterFromRuntime()

로 정의된 IBinder경량 원격 프로시저 호출 메커니즘의 핵심 부분인 원격 개체의 기본 클래스입니다.

(다음에서 상속됨 Object)
Wait()

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 <><중단/종료>합니다.>

(다음에서 상속됨 Object)
Wait(Int64)

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 <중단/>종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다.

(다음에서 상속됨 Object)
Wait(Int64, Int32)

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 <중단/>종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다.

(다음에서 상속됨 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경량 원격 프로시저 호출 메커니즘의 핵심 부분인 원격 개체의 기본 클래스입니다.

적용 대상