Visão geral da Central de segurança

Esta página descreve as configurações de segurança e privacidade no Android e como acessar as configurações (incluindo a estrutura, a integração e a personalização) pelo Centro de segurança.

No Android 13 e versões mais recentes, a Central de segurança combina itens de segurança e privacidade em uma única página chamada Segurança e privacidade. O Safety Center também pode ser acessado em um bloco de Configurações rápidas .

A Central de segurança oferece entradas de redirecionamento para que os usuários possam acessar configurações específicas de segurança e privacidade. O Safety Center também identifica problemas que os usuários podem corrigir nos dispositivos ou contas, combinando dados dinâmicos recebidos de várias fontes. Esses dados fornecem aos usuários um status de segurança geral com recomendações específicas.

Configurações de segurança e privacidade Configurações de segurança e privacidade

Figura 1. Tela da Central de segurança.

Requisitos e diretrizes de integração

  • Android 13 e Mainline M-2022-11 ou mais recente
  • Arquivo de configuração do framework do Android para ativar a Central de Segurança:
  • Requisitos do lado do servidor (somente Android 13):

    • A flag safety_center_is_enabled DeviceConfig está definida como true (padrão true do Android 14).

Diretrizes

  • Os OEMs do GMS que não estão implementando o Safety Center podem desativar a configuração definindo o campo config_enableSafetyCenter sobreposto do arquivo config.xml como false (o padrão é true). Para mais informações, consulte Ativar ou desativar o Safety Center.
  • Para evitar um bug na integração da tela de bloqueio no Android 13, consulte Sobre PendingIntent e Solução alternativa de PendingIntent. Não é necessário fazer isso no Android 14 ou no Android 13 QPR, porque o problema foi corrigido.

Integrar com a Central de segurança

  1. Ative o Safety Center no dispositivo.
  2. (Opcional) Modifique o arquivo de configuração do Safety Center para mudar a forma como os dados são fornecidos. Consulte Atualizar o arquivo de configuração. As mudanças no arquivo de configuração precisam atender aos requisitos de personalização e precisam ser testadas com um teste GTS que impõe restrições rígidas às modificações.
  3. (Opcional) Modifique o app Configurações para adicionar ou mudar a entrada Segurança e privacidade.
  4. Adicionar ou mudar o suporte para as fontes de segurança para garantir que o Centro de segurança funcione com indicadores, como a tela de bloqueio ou a biometria (se houver suporte). Talvez seja necessário fazer algumas mudanças no app Configurações para que isso seja implementado corretamente. Por exemplo, mude o nome do pacote de configurações no arquivo de configuração para o nome apropriado e use as APIs de origem do Safety Center no app Configurações.
  5. (Opcional) Personalize a interface da Central de segurança sobrepondo temas, padding e outros recursos.
  6. Execute e passe nos testes de GTS e CTS associados.
  7. No Android 13, envie impressões digitais do dispositivo para a lista de permissões do lado do servidor. Não é necessário fazer isso na 14.

Fontes da Central de segurança

Uma fonte da Central de segurança fornece dados para a Central de segurança. Uma origem geralmente é de um app separado no dispositivo. Atualmente, apenas apps do sistema são permitidos como fontes de segurança. Os apps de terceiros não são fontes de segurança.

Confira alguns exemplos de fontes do Safety Center:

  • Tela de bloqueio
  • Biometria
  • Atualizações de segurança
  • Encontre Meu Dispositivo
  • Google Play Protect
  • Verificação de segurança da Conta do Google
  • Indicadores de privacidade

Uma fonte do Safety Center pode fornecer estes tipos de dados:

  • Uma entrada na interface da Central de segurança para redirecionar o usuário para outra tela. Essa entrada tem um status que representa se o usuário está em risco, além de metadados adicionais associados ao status, por exemplo, título e resumo.
  • Cards de aviso (também chamados de problemas) que podem ser resolvidos diretamente do Centro de segurança ou redirecionando um usuário para outra tela. Cada problema também tem outros metadados associados, como título, resumo, rótulos de botões e ações.
  • Possíveis erros que ocorreram ao tentar fornecer dados ao Safety Center.
  • O motivo pelo qual uma fonte está enviando dados para a Central de segurança.

Arquivo de configuração

As fontes do Safety Center são listadas em um arquivo de configuração que funciona como uma lista de permissões. Esse arquivo também fornece dados padrão para cada entrada da interface. O arquivo de configuração pode especificar entradas de redirecionamento estáticas que não podem afetar o status do Safety Center ou os problemas (também chamados de fontes de segurança estáticas). Para mais informações, consulte Atualizar o arquivo de configuração.

Módulo principal

O Safety Center faz parte do módulo PermissionController Mainline. Por isso, o Google pode atualizar esse recurso como parte de uma atualização do Mainline para dispositivos OEM do GMS que oferecem suporte ao Mainline.

Dispositivos OEM que não são GMS e dispositivos OEM que não são compatíveis com o Mainline podem usar o Centro de segurança se esse recurso estiver incluído na imagem do sistema. No entanto, eles precisam usar o código M-2022-11 ou mais recente. Consulte Ativar ou desativar a Central de segurança para conferir os requisitos.

APIs do Safety Center

As APIs do Safety Center são escritas em Java, e os exemplos de código nesta página são escritos em Java. No entanto, como o Kotlin é interoperável com o Java, as APIs do Safety Center podem ser usadas no Kotlin. Várias partes do app do sistema PermissionController que interagem com o Safety Center são escritas em Kotlin.

É possível usar APIs para interagir com o Safety Center. Essas APIs são principalmente acessíveis por SafetyCenterManager, que é uma API do sistema. Para mais informações, consulte Interagir com a Central de segurança.

Ações da intent e extras

A partir do Android 13, uma ação de intent pública (acessível por apps de terceiros) é definida na classe Intent para redirecionar ao Centro de segurança.

Outras ações e extras são definidas em SafetyCenterManager e podem ser acessadas apenas por apps do sistema para permitir, por exemplo, o redirecionamento a um problema específico.

API Safety Center ativada

SafetyCenterManager expõe uma API que informa se o Safety Center está ativado no dispositivo. A API confirma se o dispositivo atende aos requisitos do Safety Center, como se ele tem a versão correta do módulo Mainline instalada. Essa verificação é usada para determinar se a Central de segurança vai aparecer nas configurações e em outros lugares. Isso também pode ser usado para determinar se os dados precisam ser fornecidos à Central de segurança. Para saber como ativar ou desativar o Safety Center, consulte Como ativar ou desativar o Safety Center.

APIs de origem do Safety Center

As fontes do Safety Center usam APIs de origem do Safety Center para fornecer dados dinâmicos ao Safety Center. As APIs de origem da Central de segurança executam as seguintes funções:

  • Defina os dados de uma determinada origem do Safety Center.
  • Receba o conjunto de dados mais recente de uma determinada fonte do Safety Center.
  • Informar um erro de uma determinada origem do Safety Center.

As fontes do Safety Center podem ativar o recebimento de um sinal para enviar dados ao Safety Center em ocasiões especiais, por exemplo, quando a página do Safety Center é aberta, para garantir que os dados fornecidos estejam atualizados.

APIs internas do Safety Center

Algumas APIs do Safety Center são internas e usadas apenas pelo módulo principal PermissionController, exceto para shell e testes. Por motivos técnicos, essas APIs não estão ocultas e são expostas por SafetyCenterManager.

As APIs da Central de segurança desempenham as seguintes funções:

  • Envie um sinal às fontes da Central de segurança para atualizar os dados.
  • Receba uma representação do arquivo de configuração.
  • Receba dados mesclados de várias fontes da Central de segurança.
  • Assinar e cancelar a assinatura de alterações de dados.
  • Dispensar cards de aviso.
  • Executar uma ação do card de aviso.

APIs de teste

SafetyCenterManager inclui APIs de teste do Safety Center usadas para testes.

As APIs de teste do Safety Center podem:

  • Limpar todos os dados armazenados pelo Safety Center.
  • Modifique o arquivo de configuração e limpe a substituição.

Comandos do shell

Alguns comandos shell são fornecidos para interagir com o Safety Center pelo shell do Android Debug Bridge (adb shell). Use adb shell cmd safety_center help para conferir a lista de comandos e o que eles podem fazer.

Interface do usuário do Safety Center

A interface do usuário da Central de segurança é definida no app do sistema PermissionController dentro do módulo PermissionController. A interface é composta por uma atividade e vários fragmentos que usam as APIs descritas em APIs do Centro de segurança interno. O bloco "Configurações rápidas" exposto pelo Safety Center usa os mesmos componentes de interface com algumas pequenas mudanças na disposição.

A aparência desta página pode ser alterada usando sobreposições. Para mais informações, consulte Personalizar a interface da Central de segurança.