Partager via


IBinder.Transact(Int32, Parcel, Parcel, TransactionFlags) Méthode

Définition

Effectuez une opération générique avec l’objet.

[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

Paramètres

code
Int32

Action à effectuer. Il doit s’agir d’un nombre compris entre #FIRST_CALL_TRANSACTION et #LAST_CALL_TRANSACTION.

data
Parcel

Données marshalées à envoyer à la cible. Ne doit pas avoir la valeur Null. Si vous n’envoyez aucune donnée, vous devez créer un colis vide qui est fourni ici.

reply
Parcel

Données marshalées à recevoir de la cible. Peut être null si vous n’êtes pas intéressé par la valeur de retour.

flags
TransactionFlags

Indicateurs d’opération supplémentaires. Soit 0 pour un RPC normal, soit #FLAG_ONEWAY pour un RPC unidirectionnel.

Retours

Retourne le résultat de Binder#onTransact. Un appel réussi retourne généralement true ; false signifie généralement que le code de transaction n’a pas été compris. Pour un appel uniway à un autre processus false ne doit jamais être retourné. Si un appel oneway est effectué vers du code dans le même processus (généralement vers une implémentation C++ ou Rust), il n’existe aucune sémantique oneway, et false peut toujours être retourné.

Attributs

Exceptions

Remarques

Effectuez une opération générique avec l’objet.

Documentation Java pour android.os.IBinder.transact(int, android.os.Parcel, android.os.Parcel, int).

Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.

S’applique à