Binder Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Classe base para um objeto remoto, a parte central de um mecanismo de chamada de procedimento remoto leve definido por IBinder.
[Android.Runtime.Register("android/os/Binder", DoNotGenerateAcw=true)]
public class Binder : Java.Lang.Object, Android.OS.IBinder, IDisposable
[<Android.Runtime.Register("android/os/Binder", DoNotGenerateAcw=true)>]
type Binder = class
inherit Object
interface IBinder
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Herança
- Atributos
- Implementações
Comentários
Classe base para um objeto remoto, a parte central de um mecanismo de chamada de procedimento remoto leve definido por IBinder. Essa classe é uma implementação do IBinder que fornece a implementação local padrão de tal objeto.
A maioria dos desenvolvedores não implementará essa classe diretamente, em vez disso, usará a ferramenta auxiliar para descrever a interface desejada, fazendo com que ela gere a subclasse binder apropriada. No entanto, você pode derivar diretamente do Binder para implementar seu próprio protocolo RPC personalizado ou simplesmente instanciar um objeto Binder bruto diretamente para usar como um token que pode ser compartilhado entre processos.
Essa classe é apenas um primitivo de IPC básico; ele não tem impacto no ciclo de vida de um aplicativo e é válido apenas desde que o processo que o criou continue a ser executado. Para usá-lo corretamente, você deve estar fazendo isso no contexto de um componente de aplicativo de nível superior (um android.app.Service, android.app.Activityou android.content.ContentProvider) que permite que o sistema saiba que seu processo deve permanecer em execução.
Você deve ter em mente as situações em que seu processo pode desaparecer e, portanto, exigir que você crie novamente um novo Associador e anexe-o novamente quando o processo for iniciado novamente. Por exemplo, se você estiver usando isso dentro de um android.app.Activity, o processo de sua atividade poderá ser encerrado sempre que a atividade não for iniciada; se a atividade for recriada posteriormente, você precisará criar um novo Associador e entregá-la novamente ao local correto; você precisa estar ciente de que seu processo pode ser iniciado por outro motivo (por exemplo, para receber uma transmissão) que não envolverá a recriação da atividade e, portanto, executar seu código para criar um novo Associador.
Java documentação para android.os.Binder.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.
Construtores
| Nome | Description |
|---|---|
| Binder() |
O construtor padrão apenas inicializa o objeto. |
| Binder(IntPtr, JniHandleOwnership) |
Um construtor usado ao criar representações gerenciadas de objetos JNI; chamado pelo runtime. |
| Binder(String) |
Construtor para criar um objeto Binder bruto (token) juntamente com um descritor. |
Propriedades
| Nome | Description |
|---|---|
| CallingPid |
Retorne a ID do processo que enviou a transação atual que está sendo processada. |
| CallingUid |
Retorne a UID do Linux atribuída ao processo que enviou a transação atual que está sendo processada. |
| CallingUidOrThrow |
Retorne a UID do Linux atribuída ao processo que enviou a transação que está sendo processada no momento. |
| CallingUserHandle |
Retorne o UserHandle atribuído ao processo que enviou a transação atual que está sendo processada. |
| CallingWorkSourceUid |
Retorna o conjunto de fontes de trabalho definido pelo chamador. |
| Class |
Retorna a classe de runtime deste |
| Handle |
O identificador para a instância subjacente do Android. (Herdado de Object) |
| InterfaceDescriptor |
A implementação padrão retorna um nome de interface vazio. |
| IsBinderAlive |
A ser adicionado
|
| JniIdentityHashCode |
Obtém o código de hash de identidade atribuído a esse par Java pelo runtime de interoperabilidade. (Herdado de Object) |
| JniManagedPeerState |
Classe base para um objeto remoto, a parte central de um mecanismo de chamada de procedimento remoto leve definido por |
| JniPeerMembers |
Fornece metadados de membro par JNI para esse tipo. |
| PeerReference |
Obtém a referência de objeto JNI para este par Java. (Herdado de Object) |
| ThresholdClass |
Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código. |
| ThresholdType |
Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código. |
Métodos
| Nome | Description |
|---|---|
| AttachInterface(IInterface, String) |
Método de conveniência para associar uma interface específica ao Associador. |
| ClearCallingIdentity() |
Redefina a identidade do IPC de entrada no thread atual. |
| ClearCallingWorkSource() |
Limpa a fonte de trabalho neste thread. |
| Clone() |
Cria e retorna uma cópia desse objeto. (Herdado de Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Classe base para um objeto remoto, a parte central de um mecanismo de chamada de procedimento remoto leve definido por |
| Dispose() |
Libera os recursos mantidos por esse par Java. (Herdado de Object) |
| Dispose(Boolean) |
Libera os recursos mantidos por esse par Java. (Herdado de Object) |
| DisposeUnlessReferenced() |
Classe base para um objeto remoto, a parte central de um mecanismo de chamada de procedimento remoto leve definido por |
| Dump(FileDescriptor, PrintWriter, String[]) |
Imprima o estado do objeto no fluxo fornecido. |
| Dump(FileDescriptor, String[]) |
Implementado para chamar a versão |
| DumpAsync(FileDescriptor, String[]) |
Como |
| Equals(Object) |
Classe base para um objeto remoto, a parte central de um mecanismo de chamada de procedimento remoto leve definido por |
| Equals(Object) |
Indica se algum outro objeto é "igual a" este. (Herdado de Object) |
| FlushPendingCommands() |
Libere todos os comandos do Binder pendentes no thread atual para o driver do kernel. |
| GetHashCode() |
Retorna um valor de código hash para o objeto. (Herdado de Object) |
| JavaFinalize() |
Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto. (Herdado de Object) |
| JoinThreadPool() |
Adicione o thread de chamada ao pool de threads do IPC. |
| LinkToDeath(IBinderDeathRecipient, Int32) |
A implementação local é um no-op. |
| Notify() |
Ativa um único thread que está aguardando no monitor deste objeto. (Herdado de Object) |
| NotifyAll() |
Ativa todos os threads que estão aguardando no monitor deste objeto. (Herdado de Object) |
| OnTransact(Int32, Parcel, Parcel, Int32) |
A implementação padrão é um stub que retorna false. |
| PingBinder() |
A implementação padrão sempre retorna true – se você chegou aqui, o objeto está ativo. |
| QueryLocalInterface(String) |
Use as informações fornecidas para |
| RestoreCallingIdentity(Int64) |
Restaure a identidade do IPC de entrada no thread atual de volta para uma identidade anterior que foi retornada por |
| RestoreCallingWorkSource(Int64) |
Restaura a fonte de trabalho neste thread usando um token retornado por |
| SetCallingWorkSourceUid(Int32) |
Define a fonte de trabalho para este thread. |
| SetHandle(IntPtr, JniHandleOwnership) |
Define a propriedade Handle (Herdado de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Classe base para um objeto remoto, a parte central de um mecanismo de chamada de procedimento remoto leve definido por |
| ToArray<T>() |
Cria uma matriz gerenciada com base nesse wrapper de matriz Java. (Herdado de Object) |
| ToString() |
Retorna uma representação de cadeia de caracteres do objeto. (Herdado de Object) |
| Transact(Int32, Parcel, Parcel, TransactionFlags) |
A implementação padrão retrocede as parcelas e chamadas emTransact. |
| UnlinkToDeath(IBinderDeathRecipient, Int32) |
A implementação local é um no-op. |
| UnregisterFromRuntime() |
Cancela o registro desse par Java do runtime de interoperabilidade. (Herdado de Object) |
| Wait() |
Faz com que o thread atual aguarde até ser despertado, normalmente por ser <notificado/em> ou <em>interrompido</em>.<> (Herdado de Object) |
| Wait(Int64, Int32) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
| Wait(Int64) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| IJavaPeerable.Disposed() |
Classe base para um objeto remoto, a parte central de um mecanismo de chamada de procedimento remoto leve definido por |
| IJavaPeerable.Finalized() |
Classe base para um objeto remoto, a parte central de um mecanismo de chamada de procedimento remoto leve definido por |
| IJavaPeerable.JniObjectReferenceControlBlock |
Classe base para um objeto remoto, a parte central de um mecanismo de chamada de procedimento remoto leve definido por |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Classe base para um objeto remoto, a parte central de um mecanismo de chamada de procedimento remoto leve definido por |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Classe base para um objeto remoto, a parte central de um mecanismo de chamada de procedimento remoto leve definido por |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Classe base para um objeto remoto, a parte central de um mecanismo de chamada de procedimento remoto leve definido por |
| IJavaPeerable.UnregisterFromRuntime() |
Classe base para um objeto remoto, a parte central de um mecanismo de chamada de procedimento remoto leve definido por |
Métodos de Extensão
| Nome | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtém o nome JNI do tipo da instância |
| JavaAs<TResult>(IJavaPeerable) |
Tente coagir a digitar |
| JavaCast<TResult>(IJavaObject) |
Executa uma conversão de tipo marcada por runtime do Android. |
| JavaCast<TResult>(IJavaObject) |
Classe base para um objeto remoto, a parte central de um mecanismo de chamada de procedimento remoto leve definido por |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Tente coagir a digitar |