語言

Binder.Transact(Int32, Parcel, Parcel, TransactionFlags) 方法

定義

預設實作會在 Transact 上倒帶包裹並呼叫。

[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

參數

code
Int32

要執行的動作。 這應該是一個介於 FirstCallTransaction 和 LastCallTransaction之間的數值。

data
Parcel

整理資料傳送給目標。 不得為 Null。 如果你沒有傳送任何資料,你必須建立一個空的 Parcel,這裡給出的。

reply
Parcel

調動目標接收資料。 如果你不在意報酬價值,可能會是無效的。

flags
TransactionFlags

額外的行動旗幟。 一般 RPC 要麼是 0,要麼 FlagOneway 是單向 RPC。

傳回

回傳來自 Binder.onTransact 的結果。 成功的叫聲通常會回傳為真;錯誤通常表示交易代碼未被理解。 對於單向呼叫到其他程序,錯誤不應回傳。 如果在同一程序中對程式碼進行單向呼叫(通常是對 C++ 或 Rust 實作),則不存在單向語意,false 仍可回傳。

實作

屬性

例外狀況

備註

預設實作會在 Transact 上倒帶包裹並呼叫。 遠端端則是交易呼叫資料夾來執行 IPC。

Java 文件 android.os.Binder.transact(int, android.os.Parcel, android.os.Parcel, int)。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於