Binder Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Classe de base pour un objet remotable, partie principale d’un mécanisme d’appel de procédure distante légère défini par IBinder
.
[Android.Runtime.Register("android/os/Binder", DoNotGenerateAcw=true)]
public class Binder : Java.Lang.Object, Android.OS.IBinder, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/os/Binder", DoNotGenerateAcw=true)>]
type Binder = class
inherit Object
interface IBinder
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Héritage
- Attributs
- Implémente
Remarques
Classe de base pour un objet remotable, partie principale d’un mécanisme d’appel de procédure distante légère défini par IBinder
. Cette classe est une implémentation d’IBinder qui fournit une implémentation locale standard d’un tel objet.
La plupart des développeurs n’implémentent pas directement cette classe, à la place à l’aide de l’outil aidl pour décrire l’interface souhaitée, ce qui lui permet de générer la sous-classe Binder appropriée. Toutefois, vous pouvez dériver directement de Binder pour implémenter votre propre protocole RPC personnalisé ou simplement instancier un objet Binder brut directement à utiliser comme jeton qui peut être partagé entre les processus.
Cette classe n’est qu’une primitive IPC de base ; elle n’a aucun impact sur le cycle de vie d’une application et n’est valide que tant que le processus créé continue de s’exécuter. Pour l’utiliser correctement, vous devez le faire dans le contexte d’un composant d’application de niveau supérieur (a android.app.Service
, android.app.Activity
ou android.content.ContentProvider
) qui permet au système de savoir que votre processus doit rester en cours d’exécution.
Vous devez garder à l’esprit les situations dans lesquelles votre processus pourrait disparaître, et donc exiger que vous recréez ultérieurement un classeur et le rattachez à nouveau lorsque le processus redémarre. Par exemple, si vous utilisez cela au sein d’un android.app.Activity
processus de votre activité peut être tué à tout moment où l’activité n’est pas démarrée ; si l’activité est recréée ultérieurement, vous devrez créer un classeur et le remettre à nouveau à l’emplacement approprié ; vous devez savoir que votre processus peut être démarré pour une autre raison (par exemple pour recevoir une diffusion) qui n’implique pas de recréation de l’activité et donc d’exécuter à nouveau l’activité. son code pour créer un binder.
Documentation Java pour android.os.Binder
.
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.
Constructeurs
Binder() |
Le constructeur par défaut initialise simplement l’objet. |
Binder(IntPtr, JniHandleOwnership) |
Constructeur utilisé lors de la création de représentations managées d’objets JNI ; appelée par le runtime. |
Binder(String) |
Constructeur pour la création d’un objet Binder brut (jeton) avec un descripteur. |
Propriétés
CallingPid |
Retourne l’ID du processus qui vous a envoyé la transaction en cours de traitement. |
CallingUid |
Retournez l’UID Linux affecté au processus qui vous a envoyé la transaction en cours de traitement. |
CallingUidOrThrow |
Retournez l’UID Linux affecté au processus qui a envoyé la transaction en cours de traitement. |
CallingUserHandle |
Retournez le UserHandle affecté au processus qui vous a envoyé la transaction en cours de traitement. |
CallingWorkSourceUid |
Retourne la source de travail définie par l’appelant. |
Class |
Retourne la classe runtime de ce |
Handle |
Handle de l’instance Android sous-jacente. (Hérité de Object) |
InterfaceDescriptor |
L’implémentation par défaut retourne un nom d’interface vide. |
IsBinderAlive |
À ajouter
|
JniIdentityHashCode |
Classe de base pour un objet remotable, partie principale d’un mécanisme d’appel de procédure distante légère défini par |
JniPeerMembers |
Classe de base pour un objet remotable, partie principale d’un mécanisme d’appel de procédure distante légère défini par |
PeerReference |
Classe de base pour un objet remotable, partie principale d’un mécanisme d’appel de procédure distante légère défini par |
ThresholdClass |
Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code. |
ThresholdType |
Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code. |
Méthodes
AttachInterface(IInterface, String) |
Méthode pratique pour associer une interface spécifique au Binder. |
ClearCallingIdentity() |
Réinitialisez l’identité de l’IPC entrant sur le thread actuel. |
ClearCallingWorkSource() |
Efface la source de travail sur ce thread. |
Clone() |
Crée et retourne une copie de cet objet. (Hérité de Object) |
Dispose() |
Classe de base pour un objet remotable, partie principale d’un mécanisme d’appel de procédure distante légère défini par |
Dispose(Boolean) |
Classe de base pour un objet remotable, partie principale d’un mécanisme d’appel de procédure distante légère défini par |
Dump(FileDescriptor, PrintWriter, String[]) |
Imprimez l’état de l’objet dans le flux donné. |
Dump(FileDescriptor, String[]) |
Implémenté pour appeler la version |
DumpAsync(FileDescriptor, String[]) |
Comme |
Equals(Object) |
Indique si un autre objet est « égal à » celui-ci. (Hérité de Object) |
FlushPendingCommands() |
Videz toutes les commandes binder en attente dans le thread actuel sur le pilote du noyau. |
GetHashCode() |
Retourne une valeur de code de hachage pour l'objet. (Hérité de Object) |
JavaFinalize() |
Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet. (Hérité de Object) |
JoinThreadPool() |
Ajoutez le thread appelant au pool de threads IPC. |
LinkToDeath(IBinderDeathRecipient, Int32) |
L’implémentation locale est une opération sans opération. |
Notify() |
Réveille un thread unique qui attend le moniteur de cet objet. (Hérité de Object) |
NotifyAll() |
Réveille tous les threads qui attendent le moniteur de cet objet. (Hérité de Object) |
OnTransact(Int32, Parcel, Parcel, Int32) |
L’implémentation par défaut est un stub qui retourne false. |
PingBinder() |
L’implémentation par défaut retourne toujours true : si vous avez obtenu ici, l’objet est actif. |
QueryLocalInterface(String) |
Utilisez les informations fournies pour |
RestoreCallingIdentity(Int64) |
Restaurez l’identité de l’IPC entrant sur le thread actuel vers une identité précédemment retournée par |
RestoreCallingWorkSource(Int64) |
Restaure la source de travail sur ce thread à l’aide d’un jeton retourné par |
SetCallingWorkSourceUid(Int32) |
Définit la source de travail pour ce thread. |
SetHandle(IntPtr, JniHandleOwnership) |
Définit la propriété Handle. (Hérité de Object) |
ToArray<T>() |
Classe de base pour un objet remotable, partie principale d’un mécanisme d’appel de procédure distante légère défini par |
ToString() |
Retourne une représentation de chaîne de l'objet. (Hérité de Object) |
Transact(Int32, Parcel, Parcel, TransactionFlags) |
L’implémentation par défaut rembobine les colis et appelle onTransact. |
UnlinkToDeath(IBinderDeathRecipient, Int32) |
L’implémentation locale est une opération sans opération. |
UnregisterFromRuntime() |
Classe de base pour un objet remotable, partie principale d’un mécanisme d’appel de procédure distante légère défini par |
Wait() |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou> <em>interrompu</em>.<> (Hérité de Object) |
Wait(Int64, Int32) |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti< par> em>ou <em>interrompu/em>,< ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée. (Hérité de Object) |
Wait(Int64) |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti< par> em>ou <em>interrompu/em>,< ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée. (Hérité de Object) |
Implémentations d’interfaces explicites
IJavaPeerable.Disposed() |
Classe de base pour un objet remotable, partie principale d’un mécanisme d’appel de procédure distante légère défini par |
IJavaPeerable.DisposeUnlessReferenced() |
Classe de base pour un objet remotable, partie principale d’un mécanisme d’appel de procédure distante légère défini par |
IJavaPeerable.Finalized() |
Classe de base pour un objet remotable, partie principale d’un mécanisme d’appel de procédure distante légère défini par |
IJavaPeerable.JniManagedPeerState |
Classe de base pour un objet remotable, partie principale d’un mécanisme d’appel de procédure distante légère défini par |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Classe de base pour un objet remotable, partie principale d’un mécanisme d’appel de procédure distante légère défini par |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Classe de base pour un objet remotable, partie principale d’un mécanisme d’appel de procédure distante légère défini par |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Classe de base pour un objet remotable, partie principale d’un mécanisme d’appel de procédure distante légère défini par |
Méthodes d’extension
JavaCast<TResult>(IJavaObject) |
Effectue une conversion de type vérifiée par le runtime Android. |
JavaCast<TResult>(IJavaObject) |
Classe de base pour un objet remotable, partie principale d’un mécanisme d’appel de procédure distante légère défini par |
GetJniTypeName(IJavaPeerable) |
Classe de base pour un objet remotable, partie principale d’un mécanisme d’appel de procédure distante légère défini par |