IBinder.Transact(Int32, Parcel, Parcel, TransactionFlags) Methode

Definition

Führen Sie einen generischen Vorgang mit dem Objekt aus.

[Android.Runtime.Register("transact", "(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z", "GetTransact_ILandroid_os_Parcel_Landroid_os_Parcel_IHandler:Android.OS.IBinderInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
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", "GetTransact_ILandroid_os_Parcel_Landroid_os_Parcel_IHandler:Android.OS.IBinderInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member Transact : int * Android.OS.Parcel * Android.OS.Parcel * Android.OS.TransactionFlags -> bool

Parameter

code
Int32

Die auszuführende Aktion. Dies sollte eine Zahl zwischen #FIRST_CALL_TRANSACTION und #LAST_CALL_TRANSACTION.

data
Parcel

Ge marshallte Daten, die an das Ziel gesendet werden sollen. Darf nicht null sein. Wenn Sie keine Daten senden, müssen Sie ein leeres Paket erstellen, das hier angegeben wird.

reply
Parcel

Ge marshallte Daten, die vom Ziel empfangen werden sollen. Kann null sein, wenn Sie nicht an dem Rückgabewert interessiert sind.

flags
TransactionFlags

Zusätzliche Vorgangskennzeichnungen. Entweder 0 für einen normalen RPC oder #FLAG_ONEWAY für ein unidirektionales RPC.

Gibt zurück

Gibt das Ergebnis von Binder#onTransact. Ein erfolgreicher Aufruf gibt in der Regel "true" zurück; "false" bedeutet im Allgemeinen, dass der Transaktionscode nicht verstanden wurde. Für einen Oneway-Aufruf an einen anderen Prozess "false" sollte niemals zurückgegeben werden. Wenn ein Oneway-Aufruf zum Code im selben Prozess (in der Regel in einer C++- oder Rust-Implementierung) erfolgt, gibt es keine Onewaysemantik, und "false" kann weiterhin zurückgegeben werden.

Attribute

Ausnahmen

Hinweise

Führen Sie einen generischen Vorgang mit dem Objekt aus.

Java Dokumentation für android.os.IBinder.transact(int, android.os.Parcel, android.os.Parcel, int).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: