Lenguaje

Binder.Transact(Int32, Parcel, Parcel, TransactionFlags) Método

Definición

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

[Android.Runtime.Register("transact", "(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z", "")]
public bool Transact(int code, Android.OS.Parcel data, Android.OS.Parcel? reply, Android.OS.TransactionFlags flags);
[<Android.Runtime.Register("transact", "(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z", "")>]
abstract member Transact : int * Android.OS.Parcel * Android.OS.Parcel * Android.OS.TransactionFlags -> bool
override this.Transact : int * Android.OS.Parcel * Android.OS.Parcel * Android.OS.TransactionFlags -> bool

Parámetros

code
Int32

La acción a realizar. Debe ser un número entre FirstCallTransaction y LastCallTransaction.

data
Parcel

Datos serializado que se van a enviar al destino. No debe ser null. Si no envía ningún dato, debe crear un paquete vacío que se proporciona aquí.

reply
Parcel

Datos serializado que se van a recibir del destino. Puede ser null si no está interesado en el valor devuelto.

flags
TransactionFlags

Marcas de operación adicionales. 0 para un RPC normal o FlagOneway para un RPC unidireccional.

Devoluciones

Devuelve el resultado de Binder.onTransact . Una llamada correcta generalmente devuelve true; false generalmente significa que no se entendió el código de transacción. Para una llamada oneway a otro proceso false nunca se debe devolver. Si se realiza una llamada oneway al código en el mismo proceso (normalmente a una implementación de C++ o Rust), no hay una semántica de una sola vía y todavía se puede devolver false.

Implementaciones

Atributos

Excepciones

Comentarios

La implementación predeterminada rebobina las parcelas y llama a onTransact. En el lado remoto, realiza llamadas de transacción al enlazador para realizar el IPC.

Documentación de Java para android.os.Binder.transact(int, android.os.Parcel, android.os.Parcel, int).

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.

Se aplica a