Compartir a través de


Binder Clase

Definición

Clase base para un objeto remoto, la parte principal de un mecanismo ligero de llamada a procedimiento remoto definido por 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
Herencia
Binder
Atributos
Implementaciones

Comentarios

Clase base para un objeto remoto, la parte principal de un mecanismo ligero de llamada a procedimiento remoto definido por IBinder. Esta clase es una implementación de IBinder que proporciona una implementación local estándar de este objeto.

La mayoría de los desarrolladores no implementarán esta clase directamente, sino que usarán la herramienta auxiliar para describir la interfaz deseada, teniendo que generar la subclase Binder adecuada. Sin embargo, puede derivar directamente de Binder para implementar su propio protocolo RPC personalizado o simplemente crear instancias de un objeto Binder sin procesar directamente para usarlo como token que se puede compartir entre procesos.

Esta clase es simplemente un primitivo IPC básico; no tiene ningún impacto en el ciclo de vida de una aplicación y solo es válido siempre que el proceso que creó continúa ejecutándose. Para usarlo correctamente, debe hacerlo dentro del contexto de un componente de aplicación de nivel superior (un android.app.Service, android.app.Activityo android.content.ContentProvider) que permita al sistema saber que el proceso debe permanecer en ejecución.

Debe tener en cuenta las situaciones en las que el proceso podría desaparecer y, por tanto, requerir que más adelante vuelva a crear un nuevo enlazador y volver a adjuntarlo cuando el proceso se inicie de nuevo. Por ejemplo, si usa esto dentro de un android.app.Activity, el proceso de la actividad puede eliminarse cada vez que no se inicie la actividad; si la actividad se vuelve a crear más adelante, deberá crear un nuevo enlazador y volver a entregarlo al lugar correcto; debe tener en cuenta que el proceso puede iniciarse por otro motivo (por ejemplo, para recibir una difusión) que no implique volver a crear la actividad y, por tanto, ejecutarlo de nuevo. su código para crear un nuevo enlazador.

Documentación de Java para android.os.Binder.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Constructores

Binder()

El constructor predeterminado simplemente inicializa el objeto .

Binder(IntPtr, JniHandleOwnership)

Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución.

Binder(String)

Constructor para crear un objeto Binder sin formato (token) junto con un descriptor.

Propiedades

CallingPid

Devuelve el identificador del proceso que le envió la transacción actual que se está procesando.

CallingUid

Devuelve el UID de Linux asignado al proceso que le envió la transacción actual que se está procesando.

CallingUidOrThrow

Devuelve el UID de Linux asignado al proceso que envió la transacción que se está procesando actualmente.

CallingUserHandle

Devuelve el UserHandle asignado al proceso que le envió la transacción actual que se está procesando.

CallingWorkSourceUid

Devuelve el origen de trabajo establecido por el autor de la llamada.

Class

Devuelve la clase en tiempo de ejecución de este Objectobjeto .

(Heredado de Object)
Handle

Identificador de la instancia de Android subyacente.

(Heredado de Object)
InterfaceDescriptor

La implementación predeterminada devuelve un nombre de interfaz vacío.

IsBinderAlive

Para agregar

        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

Clase base para un objeto remoto, la parte principal de un mecanismo ligero de llamada a procedimiento remoto definido por IBinder.

(Heredado de Object)
JniPeerMembers

Clase base para un objeto remoto, la parte principal de un mecanismo ligero de llamada a procedimiento remoto definido por IBinder.

PeerReference

Clase base para un objeto remoto, la parte principal de un mecanismo ligero de llamada a procedimiento remoto definido por IBinder.

(Heredado de Object)
ThresholdClass

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

ThresholdType

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

Métodos

AttachInterface(IInterface, String)

Método de conveniencia para asociar una interfaz específica con binder.

ClearCallingIdentity()

Restablezca la identidad del IPC entrante en el subproceso actual.

ClearCallingWorkSource()

Borra el origen de trabajo en este subproceso.

Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
Dispose()

Clase base para un objeto remoto, la parte principal de un mecanismo ligero de llamada a procedimiento remoto definido por IBinder.

(Heredado de Object)
Dispose(Boolean)

Clase base para un objeto remoto, la parte principal de un mecanismo ligero de llamada a procedimiento remoto definido por IBinder.

(Heredado de Object)
Dump(FileDescriptor, PrintWriter, String[])

Imprima el estado del objeto en la secuencia especificada.

Dump(FileDescriptor, String[])

Implementado para llamar a la versión #dump(FileDescriptor, PrintWriter, String[])más conveniente.

DumpAsync(FileDescriptor, String[])

Al igual #dump(FileDescriptor, String[])que , pero garantiza que el destino se ejecuta de forma asincrónica.

Equals(Object)

Indica si algún otro objeto es "igual a" este.

(Heredado de Object)
FlushPendingCommands()

Vaciar los comandos binder pendientes en el subproceso actual al controlador de kernel.

GetHashCode()

Devuelve un valor de código hash del objeto.

(Heredado de Object)
JavaFinalize()

Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto .

(Heredado de Object)
JoinThreadPool()

Agregue el subproceso de llamada al grupo de subprocesos IPC.

LinkToDeath(IBinderDeathRecipient, Int32)

La implementación local es una operación no operativa.

Notify()

Activa un único subproceso que está esperando en el monitor de este objeto.

(Heredado de Object)
NotifyAll()

Activa todos los subprocesos que están esperando en el monitor de este objeto.

(Heredado de Object)
OnTransact(Int32, Parcel, Parcel, Int32)

La implementación predeterminada es un código auxiliar que devuelve false.

PingBinder()

La implementación predeterminada siempre devuelve true: si ha llegado aquí, el objeto está activo.

QueryLocalInterface(String)

Use la información proporcionada para #attachInterface attachInterface() devolver el asociado IInterface si coincide con el descriptor solicitado.

RestoreCallingIdentity(Int64)

Restaure la identidad del IPC entrante en el subproceso actual a una identidad previamente devuelta por #clearCallingIdentity.

RestoreCallingWorkSource(Int64)

Restaura el origen de trabajo en este subproceso mediante un token devuelto por #setCallingWorkSourceUid(int) o #clearCallingWorkSource().

SetCallingWorkSourceUid(Int32)

Establece el origen de trabajo de este subproceso.

SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
ToArray<T>()

Clase base para un objeto remoto, la parte principal de un mecanismo ligero de llamada a procedimiento remoto definido por IBinder.

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto.

(Heredado de Object)
Transact(Int32, Parcel, Parcel, TransactionFlags)

La implementación predeterminada rebobina las parcelas y llama a onTransact.

UnlinkToDeath(IBinderDeathRecipient, Int32)

La implementación local es una operación no operativa.

UnregisterFromRuntime()

Clase base para un objeto remoto, la parte principal de un mecanismo ligero de llamada a procedimiento remoto definido por IBinder.

(Heredado de Object)
Wait()

Hace que el subproceso actual espere hasta que se despierta, normalmente por ser em notificado/em> o <em>interrumpido</em>.<><

(Heredado de Object)
Wait(Int64)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
Wait(Int64, Int32)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)

Implementaciones de interfaz explícitas

IJavaPeerable.Disposed()

Clase base para un objeto remoto, la parte principal de un mecanismo ligero de llamada a procedimiento remoto definido por IBinder.

(Heredado de Object)
IJavaPeerable.DisposeUnlessReferenced()

Clase base para un objeto remoto, la parte principal de un mecanismo ligero de llamada a procedimiento remoto definido por IBinder.

(Heredado de Object)
IJavaPeerable.Finalized()

Clase base para un objeto remoto, la parte principal de un mecanismo ligero de llamada a procedimiento remoto definido por IBinder.

(Heredado de Object)
IJavaPeerable.JniManagedPeerState

Clase base para un objeto remoto, la parte principal de un mecanismo ligero de llamada a procedimiento remoto definido por IBinder.

(Heredado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Clase base para un objeto remoto, la parte principal de un mecanismo ligero de llamada a procedimiento remoto definido por IBinder.

(Heredado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Clase base para un objeto remoto, la parte principal de un mecanismo ligero de llamada a procedimiento remoto definido por IBinder.

(Heredado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Clase base para un objeto remoto, la parte principal de un mecanismo ligero de llamada a procedimiento remoto definido por IBinder.

(Heredado de Object)

Métodos de extensión

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Clase base para un objeto remoto, la parte principal de un mecanismo ligero de llamada a procedimiento remoto definido por IBinder.

GetJniTypeName(IJavaPeerable)

Clase base para un objeto remoto, la parte principal de un mecanismo ligero de llamada a procedimiento remoto definido por IBinder.

Se aplica a