Binder.Transact(Int32, Parcel, Parcel, TransactionFlags) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
預設實作會在 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 所創建與分享的作品,並依授權條款所描述的使用進行修改。