Partager via


Binder Classe

Définition

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
Binder
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.Activityou 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.Activityprocessus 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 Object.

(Hérité de Object)
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

        Note that if you're calling on a local binder, this always returns true
        because your process is alive if you're calling it.
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 IBinder.

(Hérité de Object)
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 IBinder.

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 IBinder.

(Hérité de Object)
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 IBinder.

(Hérité de Object)
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 IBinder.

(Hérité de Object)
Dump(FileDescriptor, PrintWriter, String[])

Imprimez l’état de l’objet dans le flux donné.

Dump(FileDescriptor, String[])

Implémenté pour appeler la version #dump(FileDescriptor, PrintWriter, String[])la plus pratique .

DumpAsync(FileDescriptor, String[])

Comme #dump(FileDescriptor, String[]), mais garantit que la cible s’exécute de manière asynchrone.

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 #attachInterface attachInterface() retourner l’associé IInterface s’il correspond au descripteur demandé.

RestoreCallingIdentity(Int64)

Restaurez l’identité de l’IPC entrant sur le thread actuel vers une identité précédemment retournée par #clearCallingIdentity.

RestoreCallingWorkSource(Int64)

Restaure la source de travail sur ce thread à l’aide d’un jeton retourné par #setCallingWorkSourceUid(int) ou #clearCallingWorkSource().

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 IBinder.

(Hérité de Object)
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 IBinder.

(Hérité de Object)
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 IBinder.

(Hérité de Object)
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 IBinder.

(Hérité de Object)
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 IBinder.

(Hérité de Object)
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 IBinder.

(Hérité de Object)
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 IBinder.

(Hérité de Object)
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 IBinder.

(Hérité de Object)
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 IBinder.

(Hérité de Object)

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 IBinder.

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 IBinder.

S’applique à