Compartilhar via


Binder Classe

Definição

Classe base para um objeto remotable, 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, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/os/Binder", DoNotGenerateAcw=true)>]
type Binder = class
    inherit Object
    interface IBinder
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Herança
Binder
Atributos
Implementações

Comentários

Classe base para um objeto remotable, a parte central de um mecanismo de chamada de procedimento remoto leve definido por IBinder. Essa classe é uma implementação do IBinder que fornece implementação local padrão de tal objeto.

A maioria dos desenvolvedores não implementará essa classe diretamente, em vez disso, usando a ferramenta aidl 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.

Esta classe é apenas uma primitiva básica do IPC; Ele não tem impacto no ciclo de vida de um aplicativo e é válido somente enquanto o processo que o criou continuar a ser executado. Para usar isso corretamente, você deve estar fazendo isso dentro do contexto de um componente de aplicativo de nível superior (a 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ê recrie um novo fichário e o anexe novamente quando o processo for iniciado novamente. Por exemplo, se você estiver usando isso dentro de um android.app.Activity, o processo da sua atividade pode ser morto sempre que a atividade não for iniciada, se a atividade for recriada mais tarde, você precisará criar um novo fichário e entregá-lo de volta ao lugar correto novamente, 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 fichário.

Documentação Java para android.os.Binder.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Construtores

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 tempo de execução.

Binder(String)

Construtor para criar um objeto Binder bruto (token) junto com um descritor.

Propriedades

CallingPid

Retorne a ID do processo que enviou a transação atual que está sendo processada.

CallingUid

Retorne o UID do Linux atribuído ao processo que enviou a transação atual que está sendo processada.

CallingUidOrThrow

Retorne o UID do Linux atribuído 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 a fonte de trabalho definida pelo chamador.

Class

Retorna a classe de tempo de execução deste Object.

(Herdado de Object)
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

        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 base para um objeto remotable, a parte central de um mecanismo de chamada de procedimento remoto leve definido por IBinder.

(Herdado de Object)
JniPeerMembers

Classe base para um objeto remotable, a parte central de um mecanismo de chamada de procedimento remoto leve definido por IBinder.

PeerReference

Classe base para um objeto remotable, a parte central de um mecanismo de chamada de procedimento remoto leve definido por IBinder.

(Herdado de Object)
ThresholdClass

Esta API suporta a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código.

ThresholdType

Esta API suporta a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código.

Métodos

AttachInterface(IInterface, String)

Método de conveniência para associar uma interface específica com o fichário.

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)
Dispose()

Classe base para um objeto remotable, a parte central de um mecanismo de chamada de procedimento remoto leve definido por IBinder.

(Herdado de Object)
Dispose(Boolean)

Classe base para um objeto remotable, a parte central de um mecanismo de chamada de procedimento remoto leve definido por IBinder.

(Herdado de Object)
Dump(FileDescriptor, PrintWriter, String[])

Imprima o estado do objeto no fluxo fornecido.

Dump(FileDescriptor, String[])

Implementado para chamar a versão #dump(FileDescriptor, PrintWriter, String[])mais conveniente.

DumpAsync(FileDescriptor, String[])

Como #dump(FileDescriptor, String[]), mas garante que o destino seja executado de forma assíncrona.

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

LinkToDeath(IBinderDeathRecipient, Int32)

A implementação local é um não-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 até aqui, o objeto está vivo.

QueryLocalInterface(String)

Use as informações fornecidas para #attachInterface attachInterface() retornar o associado IInterface se ele corresponder ao descritor solicitado.

RestoreCallingIdentity(Int64)

Restaure a identidade do IPC de entrada no thread atual de volta para uma identidade anterior retornada pelo #clearCallingIdentity.

RestoreCallingWorkSource(Int64)

Restaura a origem de trabalho neste thread usando um token retornado por #setCallingWorkSourceUid(int) ou #clearCallingWorkSource().

SetCallingWorkSourceUid(Int32)

Define a origem de trabalho para este thread.

SetHandle(IntPtr, JniHandleOwnership)

Define a propriedade Handle.

(Herdado de Object)
ToArray<T>()

Classe base para um objeto remotable, a parte central de um mecanismo de chamada de procedimento remoto leve definido por IBinder.

(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 rebobina os pacotes e chama onTransact.

UnlinkToDeath(IBinderDeathRecipient, Int32)

A implementação local é um não-op.

UnregisterFromRuntime()

Classe base para um objeto remotable, a parte central de um mecanismo de chamada de procedimento remoto leve definido por IBinder.

(Herdado de Object)
Wait()

Faz com que o thread atual aguarde até que ele seja ativado, normalmente sendo <em notificado</em> ou <em>interrompido</em>>.

(Herdado de Object)
Wait(Int64)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente sendo <em>notificado</em> ou <em interrompido</em>, ou até que>uma certa quantidade de tempo real tenha decorrido.

(Herdado de Object)
Wait(Int64, Int32)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente sendo <em>notificado</em> ou <em interrompido</em>, ou até que>uma certa quantidade de tempo real tenha decorrido.

(Herdado de Object)

Implantações explícitas de interface

IJavaPeerable.Disposed()

Classe base para um objeto remotable, a parte central de um mecanismo de chamada de procedimento remoto leve definido por IBinder.

(Herdado de Object)
IJavaPeerable.DisposeUnlessReferenced()

Classe base para um objeto remotable, a parte central de um mecanismo de chamada de procedimento remoto leve definido por IBinder.

(Herdado de Object)
IJavaPeerable.Finalized()

Classe base para um objeto remotable, a parte central de um mecanismo de chamada de procedimento remoto leve definido por IBinder.

(Herdado de Object)
IJavaPeerable.JniManagedPeerState

Classe base para um objeto remotable, a parte central de um mecanismo de chamada de procedimento remoto leve definido por IBinder.

(Herdado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Classe base para um objeto remotable, a parte central de um mecanismo de chamada de procedimento remoto leve definido por IBinder.

(Herdado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Classe base para um objeto remotable, a parte central de um mecanismo de chamada de procedimento remoto leve definido por IBinder.

(Herdado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Classe base para um objeto remotable, a parte central de um mecanismo de chamada de procedimento remoto leve definido por IBinder.

(Herdado de Object)

Métodos de Extensão

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo verificada em tempo de execução do Android.

JavaCast<TResult>(IJavaObject)

Classe base para um objeto remotable, a parte central de um mecanismo de chamada de procedimento remoto leve definido por IBinder.

GetJniTypeName(IJavaPeerable)

Classe base para um objeto remotable, a parte central de um mecanismo de chamada de procedimento remoto leve definido por IBinder.

Aplica-se a