IBinder.Transact(Int32, Parcel, Parcel, TransactionFlags) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
對物件執行一個通用操作。
[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
參數
- code
- Int32
要執行的動作。 這應該是一個介於 #FIRST_CALL_TRANSACTION 和 #LAST_CALL_TRANSACTION之間的數值。
- data
- Parcel
整理資料傳送給目標。 不得為 Null。 如果你沒有傳送任何資料,你必須建立一個空的 Parcel,這裡給出的。
- reply
- Parcel
調動目標接收資料。 如果你不在意報酬價值,可能會是無效的。
- flags
- TransactionFlags
額外的行動旗幟。 一般 RPC 要麼是 0,要麼 #FLAG_ONEWAY 是單向 RPC。
傳回
回傳 的結果。Binder#onTransact 成功的叫聲通常會回傳為真;錯誤通常表示交易代碼未被理解。 對於單向呼叫到其他程序,錯誤不應回傳。 如果在同一程序中對程式碼進行單向呼叫(通常是對 C++ 或 Rust 實作),則不存在單向語意,false 仍可回傳。
- 屬性
例外狀況
備註
對物件執行一個通用操作。
Java 文件 android.os.IBinder.transact(int, android.os.Parcel, android.os.Parcel, int)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。