Binder Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- 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.Activity
o 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 |
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
|
JniIdentityHashCode |
Clase base para un objeto remoto, la parte principal de un mecanismo ligero de llamada a procedimiento remoto definido por |
JniPeerMembers |
Clase base para un objeto remoto, la parte principal de un mecanismo ligero de llamada a procedimiento remoto definido por |
PeerReference |
Clase base para un objeto remoto, la parte principal de un mecanismo ligero de llamada a procedimiento remoto definido por |
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 |
Dispose(Boolean) |
Clase base para un objeto remoto, la parte principal de un mecanismo ligero de llamada a procedimiento remoto definido por |
Dump(FileDescriptor, PrintWriter, String[]) |
Imprima el estado del objeto en la secuencia especificada. |
Dump(FileDescriptor, String[]) |
Implementado para llamar a la versión |
DumpAsync(FileDescriptor, String[]) |
Al igual |
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 |
RestoreCallingIdentity(Int64) |
Restaure la identidad del IPC entrante en el subproceso actual a una identidad previamente devuelta por |
RestoreCallingWorkSource(Int64) |
Restaura el origen de trabajo en este subproceso mediante un token devuelto por |
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 |
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 |
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, 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) |
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) |
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 |
IJavaPeerable.DisposeUnlessReferenced() |
Clase base para un objeto remoto, la parte principal de un mecanismo ligero de llamada a procedimiento remoto definido por |
IJavaPeerable.Finalized() |
Clase base para un objeto remoto, la parte principal de un mecanismo ligero de llamada a procedimiento remoto definido por |
IJavaPeerable.JniManagedPeerState |
Clase base para un objeto remoto, la parte principal de un mecanismo ligero de llamada a procedimiento remoto definido por |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Clase base para un objeto remoto, la parte principal de un mecanismo ligero de llamada a procedimiento remoto definido por |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Clase base para un objeto remoto, la parte principal de un mecanismo ligero de llamada a procedimiento remoto definido por |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Clase base para un objeto remoto, la parte principal de un mecanismo ligero de llamada a procedimiento remoto definido por |
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 |
GetJniTypeName(IJavaPeerable) |
Clase base para un objeto remoto, la parte principal de un mecanismo ligero de llamada a procedimiento remoto definido por |