Bind Enumeração

Definição

Enumera valores retornados por vários métodos de Bind

Essa enumeração dá suporte a uma combinação bit a bit dos valores de membro.

[System.Flags]
public enum Bind
[<System.Flags>]
type Bind = 
Herança
Bind
Atributos

Campos

Nome Valor Description
ExternalService -2147483648

Sinalizador para bindService(Intent, BindServiceFlags, Executor, ServiceConnection) : o serviço associado é um serviço externo isolado. Isso associa o serviço ao pacote do aplicativo de chamada, em vez do pacote no qual o serviço é declarado. Ao usar esse sinalizador, o código do serviço associado será executado sob o nome do pacote e a ID do usuário do aplicativo de chamada. Como o serviço deve ser um processo isolado, ele não terá acesso direto aos dados do aplicativo. A finalidade desse sinalizador é permitir que os aplicativos forneçam serviços atribuídos ao aplicativo usando o serviço, em vez do aplicativo que fornece o serviço. Esse sinalizador NÃO é compatível com BindServiceFlags. Se você precisar usar BindServiceFlags, deverá usar BIND_EXTERNAL_SERVICE_LONG em vez disso.

None 0

Especifica que nenhum sinalizador de associação está definido.

AutoCreate 1

Sinalizador para bindService(Intent, BindServiceFlags, Executor, ServiceConnection) : crie automaticamente o serviço desde que a associação exista. Observe que, embora isso crie o serviço, seu método Service.onStartCommand(Intent, int, int) ainda será chamado apenas devido a uma chamada explícita para startService(Intent) . Mesmo sem isso, porém, isso ainda fornece acesso ao objeto de serviço enquanto o serviço é criado. Observe que antes de Build.VERSION_CODES. ICE_CREAM_SANDWICH, não fornecer esse sinalizador também afetaria a importância que o sistema considera ser o processo do serviço de destino. Quando definido, a única maneira de ele ser gerado foi associando de um serviço, nesse caso, ele só será importante quando essa atividade estiver em primeiro plano. Agora, para obter esse comportamento, você deve fornecer explicitamente o novo sinalizador BIND_ADJUST_WITH_ACTIVITY . Para compatibilidade, aplicativos antigos que não especificam BIND_AUTO_CREATE terão automaticamente os sinalizadores BIND_WAIVE_PRIORITY e BIND_ADJUST_WITH_ACTIVITY definidos para que eles obtenham o mesmo resultado.

DebugUnbind 2

Sinalizador para bindService(Intent, BindServiceFlags, Executor, ServiceConnection) : inclua a ajuda de depuração para chamadas incompatíveis para desassociadas. Quando esse sinalizador for definido, a captura de chamada da chamada unbindService(ServiceConnection) a seguir será mantida, a ser impressa se uma chamada não vinculada incorreta posterior for feita. Observe que isso requer a retenção de informações sobre a associação feita durante o tempo de vida do aplicativo, resultando em um vazamento. Isso só deve ser usado para depuração.

NotForeground 4

Sinalizador para bindService(Intent, BindServiceFlags, Executor, ServiceConnection) : não permita que essa associação eleve o processo do serviço de destino para a prioridade de agendamento em primeiro plano. Ele ainda será elevado para pelo menos a mesma prioridade de memória que o cliente (para que seu processo não seja killable em qualquer situação em que o cliente não seja killable), mas para fins de agendamento de CPU ele pode ser deixado em segundo plano. Isso só tem um impacto na situação em que o cliente de associação é um processo em primeiro plano e o serviço de destino está em segundo plano.

AboveClient 8

Sinalizador para bindService(Intent, BindServiceFlags, Executor, ServiceConnection) : indica que a associação de aplicativo cliente a esse serviço considera o serviço mais importante do que o próprio aplicativo. Quando definido, a plataforma tentará fazer com que o assassino de memória fora da memória mate o aplicativo antes que ele mate o serviço ao qual ele está associado, embora isso não seja garantido como o caso.

AllowOomManagement 16

Sinalizador para bindService(Intent, BindServiceFlags, Executor, ServiceConnection) : permita que o processo que hospeda o serviço associado passe pelo gerenciamento de memória normal. Ele será tratado mais como um serviço em execução, permitindo que o sistema expurgue (temporariamente) o processo se estiver com pouca memória ou por algum outro capricho que possa ter, e ser mais agressivo em torná-lo um candidato a ser morto (e reiniciado) se estiver em execução por um longo tempo.

WaivePriority 32

Sinalizador para bindService(Intent, BindServiceFlags, Executor, ServiceConnection) : não afete o agendamento ou a prioridade de gerenciamento de memória do processo de hospedagem do serviço de destino. Permite que o processo do serviço seja gerenciado na lista LRU em segundo plano, assim como um processo de aplicativo regular em segundo plano.

Important 64

Sinalizador para bindService(Intent, BindServiceFlags, Executor, ServiceConnection) : esse serviço é muito importante para o cliente, portanto, deve ser levado ao nível do processo em primeiro plano quando o cliente estiver. Normalmente, um processo só pode ser elevado ao nível de visibilidade por um cliente, mesmo que esse cliente esteja em primeiro plano.

AdjustWithActivity 128

Sinalizador para bindService(Intent, BindServiceFlags, Executor, ServiceConnection) : se a associação de uma atividade, permitir que a importância do processo do serviço de destino seja gerada com base em se a atividade está visível para o usuário, independentemente de outro sinalizador ser usado para reduzir a quantidade que a importância geral do processo do cliente é usada para afetá-la.

NotPerceptible 256

Sinalizador para bindService(Intent, BindServiceFlags, Executor, ServiceConnection) : se a associação de um aplicativo visível ou perceptível pelo usuário, reduza a importância do serviço de destino para abaixo do nível perceptível. Isso permite que o sistema expurgue (temporariamente) o processo associado da memória para abrir espaço para processos mais importantes perceptíveis pelo usuário.

AllowActivityStarts 512

Sinalizador para bindService(Intent, BindServiceFlags, Executor, ServiceConnection) : se a associação de um aplicativo estiver visível, o serviço associado poderá iniciar uma atividade em segundo plano. Esse era o comportamento padrão antes da versão do SDK Build.VERSION_CODES. UPSIDE_DOWN_CAKE. Desde então, o comportamento padrão foi alterado para não permitir que o serviço associado inicie uma atividade em segundo plano mesmo que o aplicativo associado a ele esteja em primeiro plano, a menos que esse sinalizador seja especificado ao associar.

IncludeCapabilities 4096

Sinalizador para bindService(Intent, BindServiceFlags, Executor, ServiceConnection) : se a associação de um aplicativo que tem recursos específicos devido ao seu estado de primeiro plano, como uma atividade ou serviço em primeiro plano, esse sinalizador permitirá que o aplicativo associado obtenha os mesmos recursos, desde que ele tenha as permissões necessárias também. Se a associação de um aplicativo superior e sua versão do SDK de destino estiver em ou acima Build.VERSION_CODES. R, o aplicativo precisa usar explicitamente BIND_INCLUDE_CAPABILITIES sinalizador para passar todos os recursos para o serviço para que o outro aplicativo possa ter acesso enquanto estiver em uso, como localização, câmera, microfone da tela de fundo. Se a associação de um aplicativo superior e sua versão do SDK de destino estiver abaixo Build.VERSION_CODES. R, BIND_INCLUDE_CAPABILITIES está implícito.

SharedIsolatedProcess 8192

Sinalizador para bindIsolatedService(Intent, BindServiceFlags, String, Executor, ServiceConnection) : associe o serviço a um processo isolado compartilhado. Especificar esse sinalizador permite que vários serviços isolados sejam executados em um único processo isolado compartilhado. A instância de processo isolado compartilhado é identificada pelo parâmetro instanceName em bindIsolatedService(Intent,int,String, Executor,ServiceConnection) . Chamadas subsequentes para bindIsolatedService(Intent, BindServiceFlags, String, Executor, ServiceConnection) com a mesma instanceName farão com que o serviço isolado seja co-localizado no mesmo processo isolado compartilhado. Observe que o processo isolado compartilhado tem como escopo o aplicativo de chamada; uma vez criado, somente o aplicativo de chamada pode associar serviços isolados adicionais ao processo compartilhado. No entanto, os próprios serviços podem vir de APKs diferentes e, portanto, de fornecedores diferentes. Somente os serviços que definem o atributo R.attr.allowSharedIsolatedProcess como true têm permissão para serem associados a um processo isolado compartilhado.

PackageIsolatedProcess 16384

Sinalizador para bindIsolatedService(Intent, BindServiceFlags, String, Executor, ServiceConnection) : associe o serviço a um processo isolado compartilhado, mas apenas com outros serviços isolados do mesmo pacote que declaram o mesmo nome do processo. Especificar esse sinalizador permite que vários serviços isolados definidos no mesmo pacote sejam executados em um único processo isolado compartilhado. Esse processo isolado compartilhado deve ser especificado, pois esse sinalizador não funcionará com o processo de aplicativo padrão. Esse sinalizador é diferente de BIND_SHARED_ISOLATED_PROCESS, pois permite apenas serviços de associação do mesmo pacote no mesmo processo isolado compartilhado. Isso também significa que o processo isolado do pacote compartilhado é global e não tem escopo para cada aplicativo de chamada em potencial. A instância do processo isolado compartilhado é identificada pelo atributo "android:process" definido pelo serviço. Esse sinalizador não pode ser usado sem esse conjunto de atributos. Valor da constante: 16384 (0x00004000)

Comentários

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.

Aplica-se a