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 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
- 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.Activity
ou 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 |
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 |
Classe base para um objeto remotable, a parte central de um mecanismo de chamada de procedimento remoto leve definido por |
JniPeerMembers |
Classe base para um objeto remotable, a parte central de um mecanismo de chamada de procedimento remoto leve definido por |
PeerReference |
Classe base para um objeto remotable, a parte central de um mecanismo de chamada de procedimento remoto leve definido por |
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 |
Dispose(Boolean) |
Classe base para um objeto remotable, 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) |
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 |
RestoreCallingIdentity(Int64) |
Restaure a identidade do IPC de entrada no thread atual de volta para uma identidade anterior retornada pelo |
RestoreCallingWorkSource(Int64) |
Restaura a origem de trabalho neste thread usando um token retornado por |
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 |
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 |
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 |
IJavaPeerable.DisposeUnlessReferenced() |
Classe base para um objeto remotable, a parte central de um mecanismo de chamada de procedimento remoto leve definido por |
IJavaPeerable.Finalized() |
Classe base para um objeto remotable, a parte central de um mecanismo de chamada de procedimento remoto leve definido por |
IJavaPeerable.JniManagedPeerState |
Classe base para um objeto remotable, a parte central de um mecanismo de chamada de procedimento remoto leve definido por |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Classe base para um objeto remotable, a parte central de um mecanismo de chamada de procedimento remoto leve definido por |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Classe base para um objeto remotable, a parte central de um mecanismo de chamada de procedimento remoto leve definido por |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Classe base para um objeto remotable, a parte central de um mecanismo de chamada de procedimento remoto leve definido por |
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 |
GetJniTypeName(IJavaPeerable) |
Classe base para um objeto remotable, a parte central de um mecanismo de chamada de procedimento remoto leve definido por |