Ativar ou desativar a Central de segurança
Para ativar ou desativar a Central de segurança, use a sobreposição
O campo booleano config_enableSafetyCenter
na
frameworks/base/core/res/res/values/config.xml
.
Na maioria dos dispositivos, a Central de segurança é compatível por padrão, por exemplo, em smartphones e tablets. Em alguns formatos, a Central de segurança está desativada por padrão para por exemplo, no Auto, TV e Wear.
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- ... -->
<!-- Determines whether SafetyCenter feature is enabled. -->
<bool name="config_enableSafetyCenter">true</bool>
<!-- ... -->
</resources>
Para dar suporte à Central de segurança, defina config_enableSafetyCenter
como true
. Se você
não quiserem oferecer suporte à Central de segurança, defina esse valor como false
para desativá-la.
Quando a Central de segurança está desativada, qualquer tentativa de redirecionar para a página A página de privacidade abre o app Configurações. Qualquer tentativa de interagir com o As APIs são ignoradas silenciosamente ou retornam um valor padrão. O aplicativo Quick associado O bloco de configurações e a entrada de configurações também são expostos ou ocultos, dependendo se A Central de segurança está ativada.
Sinalização DeviceConfig
Além de ativar a Central de segurança usando o config_enableSafetyCenter
configuração, um
DeviceConfig
a sinalização de segurança (safety_center_is_enabled
) é usada para ativar ou desativar remotamente as configurações de segurança
de Ajuda.
No Android 14 e versões mais recentes, nenhuma outra ação é necessária
já que essa flag é true
por padrão.
No Android 13, a Central de segurança está desativada por padrão
do lado do servidor e ativada pela lista de permissões usando essa flag. Envie seu dispositivo
impressões digitais e peça para o TAM ser adicionado à lista de permissões. Observe que
a versão principal M-2022-11
ou mais recente precisa ser adicionada à lista de permissões.
Para desenvolvimento e teste locais, a flag pode ser ativada ou desativada localmente
(até uma reinicialização) com um comando adb
. Por exemplo, para ativar a sinalização:
adb root
adb shell device_config set_sync_disabled_for_tests until_reboot
adb shell device_config put privacy safety_center_is_enabled true
Para confirmar se a Central de segurança está ativada, faça o seguinte:
adb root
adb shell cmd safety_center enabled
A saída vai retornar se a Central de segurança estiver ativada corretamente no dispositivo.
Atualizar o arquivo de configuração
Use o arquivo de configuração safety_center_config.xml
para modificar o conteúdo do
na tela da Central de segurança. Você pode sobrepor esse arquivo supondo que você atendeu aos
Requisitos de personalização.
Sobrepor o arquivo de configuração
Para sobrepor o arquivo safety_center_config.xml
, consulte Alterar o valor de um
dos recursos do app durante a execução
para informações sobre como modificar sobreposições de recursos no ambiente de execução (RROs).
No Android 14, sobreponha a
res/raw-v34/safety_center_config.xml
e não o
res/raw/safety_center_config.xml
como o primeiro tem precedência (isso também
se aplica a outros arquivos com escopo para v34
. Por exemplo:
res/values-v34/strings.xml
). O pacote de sobreposição precisa ter um SDK mínimo menor.
que 34
. Caso contrário, o qualificador v34
poderá ser removido durante a otimização.
Use também uma sobreposição estática, pois esse valor é carregado ao redor do botão
tempo de resposta.
Para dispositivos Android Open Source Project (AOSP), segmente o pacote
com.android.safetycenter.resources
: Não há configuração de sobreposição para
alvo. Todos os recursos são sobrepostos sem restrição de conteúdo.
Para dispositivos GMS configurados para receber atualizações de Mainline, segmente o
o pacote com.google.android.safetycenter.resources
. Segmentar a configuração
SafetyCenterConfig
: Esta configuração exige que o pacote de sobreposição esteja no
a partição product
, system
ou vendor
. Os OEMs do GMS devem copiar os
safety_center_config.xml
fornecido pelo Google
arquivo e limitar
modificações às permitidas pelo GTS
testes. A definição de sobreposição
deve estar perto de:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="your.overlay.package"
android:versionCode="1"
android:versionName="1.0">
<application android:hasCode="false" />
<overlay
android:targetPackage="com.google.android.safetycenter.resources"
android:targetName="SafetyCenterConfig"
android:isStatic="true"
android:priority="0"/>
</manifest>
Para dispositivos GMS que não estão configurados para receber atualizações Mainline, segmente o
o pacote com.android.safetycenter.resources
. Não há configuração de sobreposição
segmentar. O pacote de sobreposição precisa usar o nome do pacote
com.google.android.safetycenter.resources
:
Os OEMs do GMS precisam copiar o arquivo safety_center_config.xml
fornecido pelo Google e
limitam as modificações permitidas pelos testes do GTS. Os OEMs do GMS também precisam definir
as strings usadas na configuração XML.
Estrutura do arquivo
De modo geral, o arquivo safety_center_config.xml
é uma lista de medidas
de dados. Essas fontes de segurança são organizadas em grupos para gerenciar os sinais na
tela da Central de segurança, por exemplo, "Segurança de apps" ou "Bloqueio de tela". A ordem de
esta lista define a ordem de exibição:
<safety-center-config> <!-- Wrapper for the Safety Center configuration -->
<safety-sources-config>< !-- Wrapper for the safety sources groups -->
<safety-sources-group> <!-- Contains information about a safety sources group -->
<dynamic-safety-source /> <!-- Contains information about a safety source -->
<!-- More safety sources in the group -->
</safety-sources-group> <!-- More safety sources groups -->
</safety-sources-config>
</safety-center-config>
Arquivo de configuração do Google
O arquivo de configuração do AOSP está localizado em
packages/modules/Permission/SafetyCenter/Resources/res/raw/safety_center_config.xml
No Android 13, o arquivo de configuração do Google é:
<safety-center-config>
<safety-sources-config>
<safety-sources-group
id="GoogleAppSecuritySources"
title="@com.google.android.safetycenter.resources:string/google_app_security_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_app_security_sources_summary">
<dynamic-safety-source
id="GooglePlayProtect"
packageName="com.android.vending"
profile="all_profiles"
intentAction="com.google.android.finsky.PLAY_PROTECT"
title="@com.google.android.safetycenter.resources:string/google_play_protect_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_play_protect_title_for_work"
summary="@com.google.android.safetycenter.resources:string/google_play_protect_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_play_protect_search_terms"
refreshOnPageOpenAllowed="true"/>
<dynamic-safety-source
id="GoogleAppProtectionService"
packageName="com.google.android.odad"
profile="primary_profile_only"
initialDisplayState="hidden"
loggingAllowed="false"/>
</safety-sources-group>
<safety-sources-group
id="AndroidLockScreenSources"
title="@com.google.android.safetycenter.resources:string/google_lock_screen_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_lock_screen_sources_summary">
<dynamic-safety-source
id="AndroidLockScreen"
packageName="com.android.settings"
profile="primary_profile_only"
title="@com.google.android.safetycenter.resources:string/google_lock_screen_title"
summary="@com.google.android.safetycenter.resources:string/google_lock_screen_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_lock_screen_search_terms"
initialDisplayState="disabled"
maxSeverityLevel="300"
refreshOnPageOpenAllowed="true"/>
<dynamic-safety-source
id="AndroidBiometrics"
packageName="com.android.settings"
profile="primary_profile_only"
title="@com.google.android.safetycenter.resources:string/google_biometrics_title"
summary="@com.google.android.safetycenter.resources:string/google_biometrics_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_biometrics_search_terms"
initialDisplayState="@com.google.android.safetycenter.resources:string/google_biometrics_initial_display_state"
maxSeverityLevel="0"
refreshOnPageOpenAllowed="true"/>
</safety-sources-group>
<safety-sources-group
id="GoogleAccountsSources"
title="@com.google.android.safetycenter.resources:string/google_accounts_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_accounts_sources_summary">
<dynamic-safety-source
id="GoogleSecurityCheckup"
packageName="com.google.android.gms"
profile="all_profiles"
intentAction="com.google.android.gms.accountsettings.action.SAFETY_CENTER_SECURITY_CHECKUP"
title="@com.google.android.safetycenter.resources:string/google_security_checkup_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_security_checkup_title_for_work"
summary="@com.google.android.safetycenter.resources:string/google_security_checkup_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_security_checkup_search_terms"
refreshOnPageOpenAllowed="true"/>
</safety-sources-group>
<safety-sources-group
id="GoogleDeviceFinderSources"
title="@com.google.android.safetycenter.resources:string/google_device_finder_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_device_finder_sources_summary">
<dynamic-safety-source
id="GoogleFindMyDevice"
packageName="com.google.android.gms"
profile="primary_profile_only"
intentAction="com.google.android.gms.settings.FIND_MY_DEVICE_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_find_my_device_title"
summary="@com.google.android.safetycenter.resources:string/google_find_my_device_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_find_my_device_search_terms"
refreshOnPageOpenAllowed="true"/>
<dynamic-safety-source
id="GoogleRogueTag"
packageName="com.google.android.gms"
profile="primary_profile_only"
initialDisplayState="hidden"
refreshOnPageOpenAllowed="true"/>
</safety-sources-group>
<safety-sources-group
id="GoogleUpdateSources"
title="@com.google.android.safetycenter.resources:string/google_updates_title"
summary="@com.google.android.safetycenter.resources:string/google_updates_summary">
<dynamic-safety-source
id="GoogleSecurityUpdates"
packageName="com.google.android.gms"
profile="primary_profile_only"
intentAction="@com.google.android.safetycenter.resources:string/google_security_updates_intent"
title="@com.google.android.safetycenter.resources:string/google_security_updates_title"
summary="@com.google.android.safetycenter.resources:string/google_security_updates_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_security_updates_search_terms"
refreshOnPageOpenAllowed="true"/>
<dynamic-safety-source
id="GooglePlaySystemUpdate"
packageName="com.android.vending"
profile="primary_profile_only"
intentAction="android.settings.MODULE_UPDATE_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_play_system_update_title"
summary="@com.google.android.safetycenter.resources:string/google_play_system_update_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_play_system_update_search_terms"
refreshOnPageOpenAllowed="true"/>
</safety-sources-group>
<safety-sources-group
id="AndroidPrivacySources"
title="@com.google.android.safetycenter.resources:string/google_privacy_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_privacy_sources_summary"
statelessIconType="privacy">
<static-safety-source
id="AndroidPermissionUsage"
profile="primary_profile_only"
intentAction="android.intent.action.REVIEW_PERMISSION_USAGE"
title="@com.google.android.safetycenter.resources:string/google_permission_usage_title"
summary="@com.google.android.safetycenter.resources:string/google_permission_usage_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_permission_usage_search_terms"/>
<static-safety-source
id="AndroidPermissionManager"
profile="primary_profile_only"
intentAction="android.intent.action.MANAGE_PERMISSIONS"
title="@com.google.android.safetycenter.resources:string/google_permission_manager_title"
summary="@com.google.android.safetycenter.resources:string/google_permission_manager_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_permission_manager_search_terms"/>
<static-safety-source
id="AndroidPrivacyControls"
profile="primary_profile_only"
intentAction="android.settings.PRIVACY_CONTROLS"
title="@com.google.android.safetycenter.resources:string/google_privacy_controls_title"
summary="@com.google.android.safetycenter.resources:string/google_privacy_controls_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_privacy_controls_search_terms"/>
<issue-only-safety-source
id="AndroidAccessibility"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidNotificationListener"
packageName="com.google.android.permissioncontroller"
profile="primary_profile_only"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidBackgroundLocation"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidPermissionAutoRevoke"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
refreshOnPageOpenAllowed="true"/>
</safety-sources-group>
<safety-sources-group
id="AndroidAdvancedSources"
title="@com.google.android.safetycenter.resources:string/google_advanced_title">
<dynamic-safety-source
id="AndroidWorkPolicyInfo"
packageName="com.google.android.permissioncontroller"
profile="primary_profile_only"
initialDisplayState="hidden"
refreshOnPageOpenAllowed="true"/>
<static-safety-source
id="AndroidAdvancedSecurity"
profile="primary_profile_only"
intentAction="com.android.settings.security.SECURITY_ADVANCED_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_advanced_security_title"
summary="@com.google.android.safetycenter.resources:string/google_advanced_security_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_advanced_security_search_terms"/>
<static-safety-source
id="AndroidAdvancedPrivacy"
profile="primary_profile_only"
intentAction="android.settings.PRIVACY_ADVANCED_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_advanced_privacy_title"
summary="@com.google.android.safetycenter.resources:string/google_advanced_privacy_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_advanced_privacy_search_terms"/>
</safety-sources-group>
</safety-sources-config>
</safety-center-config>
No Android 14, o arquivo de configuração do Google é:
<safety-center-config>
<safety-sources-config>
<safety-sources-group
id="GoogleAppSecuritySources"
title="@com.google.android.safetycenter.resources:string/google_app_security_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_app_security_sources_summary">
<dynamic-safety-source
id="GooglePlayProtect"
packageName="com.android.vending"
profile="all_profiles"
intentAction="com.google.android.finsky.PLAY_PROTECT"
title="@com.google.android.safetycenter.resources:string/google_play_protect_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_play_protect_title_for_work"
summary="@com.google.android.safetycenter.resources:string/google_play_protect_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_play_protect_search_terms"
notificationsAllowed="true"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
deduplicationGroup="AppSecurity"/>
<issue-only-safety-source
id="GoogleAppProtectionService"
packageName="com.google.android.odad"
profile="primary_profile_only"
loggingAllowed="false"
deduplicationGroup="AppSecurity"/>
</safety-sources-group>
<safety-sources-group
id="AndroidLockScreenSources"
title="@com.google.android.safetycenter.resources:string/google_lock_screen_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_lock_screen_sources_summary">
<dynamic-safety-source
id="AndroidLockScreen"
packageName="com.android.settings"
profile="primary_profile_only"
title="@com.google.android.safetycenter.resources:string/google_lock_screen_title"
summary="@com.google.android.safetycenter.resources:string/google_lock_screen_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_lock_screen_search_terms"
initialDisplayState="disabled"
notificationsAllowed="true"
maxSeverityLevel="300"/>
<dynamic-safety-source
id="AndroidBiometrics"
packageName="com.android.settings"
profile="all_profiles"
title="@com.google.android.safetycenter.resources:string/google_biometrics_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_biometrics_title_for_work"
summary="@com.google.android.safetycenter.resources:string/google_biometrics_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_biometrics_search_terms"
initialDisplayState="@com.google.android.safetycenter.resources:string/google_biometrics_initial_display_state"
maxSeverityLevel="0"/>
</safety-sources-group>
<safety-sources-group
id="GoogleAccountsSources"
title="@com.google.android.safetycenter.resources:string/google_accounts_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_accounts_sources_summary">
<dynamic-safety-source
id="GoogleSecurityCheckup"
packageName="com.google.android.gms"
profile="all_profiles"
intentAction="com.google.android.gms.accountsettings.action.SAFETY_CENTER_SECURITY_CHECKUP"
title="@com.google.android.safetycenter.resources:string/google_security_checkup_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_security_checkup_title_for_work"
summary="@com.google.android.safetycenter.resources:string/google_security_checkup_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_security_checkup_search_terms"
deduplicationGroup="AccountRequired"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
refreshOnPageOpenAllowed="true"/>
<dynamic-safety-source
id="GooglePasswordCheckup"
packageName="com.google.android.gms"
profile="all_profiles"
title="@com.google.android.safetycenter.resources:string/google_password_checkup_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_password_checkup_title_for_work"
searchTerms="@com.google.android.safetycenter.resources:string/google_password_checkup_search_terms"
initialDisplayState="hidden"
notificationsAllowed="true"
deduplicationGroup="AccountRequired"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
refreshOnPageOpenAllowed="false"/>
</safety-sources-group>
<safety-sources-group
id="GoogleDeviceFinderSources"
title="@com.google.android.safetycenter.resources:string/google_device_finder_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_device_finder_sources_summary">
<dynamic-safety-source
id="GoogleFindMyDevice"
packageName="com.google.android.gms"
profile="primary_profile_only"
intentAction="com.google.android.gms.settings.FIND_MY_DEVICE_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_find_my_device_title"
summary="@com.google.android.safetycenter.resources:string/google_find_my_device_summary"
notificationsAllowed="true"
deduplicationGroup="AccountRequired"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
searchTerms="@com.google.android.safetycenter.resources:string/google_find_my_device_search_terms"/>
<dynamic-safety-source
id="GoogleRogueTag"
packageName="com.google.android.gms"
profile="primary_profile_only"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
initialDisplayState="hidden"/>
</safety-sources-group>
<safety-sources-group
id="GoogleUpdateSources"
title="@com.google.android.safetycenter.resources:string/google_updates_title"
summary="@com.google.android.safetycenter.resources:string/google_updates_summary">
<dynamic-safety-source
id="GoogleSecurityUpdates"
packageName="com.google.android.gms"
profile="primary_profile_only"
intentAction="@com.google.android.safetycenter.resources:string/google_security_updates_intent"
title="@com.google.android.safetycenter.resources:string/google_security_updates_title"
summary="@com.google.android.safetycenter.resources:string/google_security_updates_summary"
notificationsAllowed="true"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
searchTerms="@com.google.android.safetycenter.resources:string/google_security_updates_search_terms"/>
<dynamic-safety-source
id="GooglePlaySystemUpdate"
packageName="com.android.vending"
profile="primary_profile_only"
intentAction="android.settings.MODULE_UPDATE_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_play_system_update_title"
summary="@com.google.android.safetycenter.resources:string/google_play_system_update_summary"
notificationsAllowed="true"
deduplicationGroup="AccountRequired"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
searchTerms="@com.google.android.safetycenter.resources:string/google_play_system_update_search_terms"/>
<dynamic-safety-source
id="GoogleBackupAndRestore"
packageName="com.google.android.gms"
profile="primary_profile_only"
initialDisplayState="hidden"
title="@com.google.android.safetycenter.resources:string/google_backup_title"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
searchTerms="@com.google.android.safetycenter.resources:string/google_backup_search_terms"/>
</safety-sources-group>
<safety-sources-group
id="AndroidPrivacySources"
title="@com.google.android.safetycenter.resources:string/google_privacy_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_privacy_sources_summary"
statelessIconType="privacy">
<static-safety-source
id="AndroidPermissionManager"
profile="primary_profile_only"
intentAction="android.intent.action.MANAGE_PERMISSIONS"
title="@com.google.android.safetycenter.resources:string/google_permission_manager_title"
summary="@com.google.android.safetycenter.resources:string/google_permission_manager_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_permission_manager_search_terms"/>
<static-safety-source
id="AndroidPermissionUsage"
profile="primary_profile_only"
intentAction="android.intent.action.REVIEW_PERMISSION_USAGE"
title="@com.google.android.safetycenter.resources:string/google_permission_usage_title"
summary="@com.google.android.safetycenter.resources:string/google_permission_usage_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_permission_usage_search_terms"/>
<static-safety-source
id="GoogleAdsIdentity"
profile="all_profiles"
packageName="com.google.android.gms"
intentAction="com.google.android.gms.adsidentity.ACTION_ADS_IDENTITY_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_ads_identity_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_ads_identity_title_for_work"
summary="@com.google.android.safetycenter.resources:string/google_ads_identity_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_ads_identity_search_terms"/>
<dynamic-safety-source
id="AndroidHealthConnect"
profile="primary_profile_only"
packageName="com.google.android.healthconnect.controller"
initialDisplayState="hidden"
refreshOnPageOpenAllowed="false"
title="@com.google.android.safetycenter.resources:string/google_health_connect_title"
searchTerms="@com.google.android.safetycenter.resources:string/google_health_connect_search_terms"/>
<dynamic-safety-source
id="AndroidPrivacyAppDataSharingUpdates"
packageName="com.google.android.permissioncontroller"
profile="primary_profile_only"
initialDisplayState="hidden"
refreshOnPageOpenAllowed="true"
title="@com.google.android.safetycenter.resources:string/google_app_data_sharing_updates_title"
searchTerms="@com.google.android.safetycenter.resources:string/google_app_data_sharing_updates_search_terms"/>
<static-safety-source
id="AndroidPrivacyControls"
profile="primary_profile_only"
intentAction="android.settings.PRIVACY_CONTROLS"
title="@com.google.android.safetycenter.resources:string/google_privacy_controls_title"
summary="@com.google.android.safetycenter.resources:string/google_privacy_controls_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_privacy_controls_search_terms"/>
<static-safety-source
id="GoogleActivityControls"
profile="all_profiles"
packageName="com.google.android.gms"
intentAction="com.google.android.gms.accountsettings.action.ACTIVITY_CONTROLS"
title="@com.google.android.safetycenter.resources:string/google_activity_controls_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_activity_controls_title_for_work"
summary="@com.google.android.safetycenter.resources:string/google_activity_controls_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_activity_controls_search_terms"/>
<issue-only-safety-source
id="AndroidAccessibility"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
notificationsAllowed="true"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidNotificationListener"
packageName="com.google.android.permissioncontroller"
profile="primary_profile_only"
notificationsAllowed="true"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidBackgroundLocation"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
notificationsAllowed="true"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidPermissionAutoRevoke"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
notificationsAllowed="true"
refreshOnPageOpenAllowed="true"/>
</safety-sources-group>
<safety-sources-group
id="AndroidAdvancedSources"
title="@com.google.android.safetycenter.resources:string/google_advanced_title">
<dynamic-safety-source
id="AndroidWorkPolicyInfo"
packageName="com.google.android.permissioncontroller"
profile="primary_profile_only"
title="@com.google.android.safetycenter.resources:string/google_work_policy_title"
initialDisplayState="hidden"
refreshOnPageOpenAllowed="true"/>
<static-safety-source
id="AndroidMoreSettings"
profile="primary_profile_only"
intentAction="com.android.settings.MORE_SECURITY_PRIVACY_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_more_settings_title"
summary="@com.google.android.safetycenter.resources:string/google_more_settings_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_more_settings_search_terms"/>
</safety-sources-group>
</safety-sources-config>
</safety-center-config>
Personalizar fontes da Central de segurança
Tipos de origem da Central de segurança
As origens podem ser dinâmicas, estáticas ou relacionadas apenas a um problema, com base no tipo de dados fornecer à Central de segurança.
Origens dinâmicas
Marque a origem de segurança como dynamic-safety-source
se ela puder fornecer dados dinâmicos
à Central de segurança, tanto para a entrada quanto para os possíveis cartões de aviso:
<dynamic-safety-source
id="AndroidLockScreen"
packageName="com.android.settings"
profile="primary_profile_only"
title="@com.google.android.safetycenter.resources:string/google_lock_screen_title"
summary="@com.google.android.safetycenter.resources:string/google_lock_screen_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_lock_screen_search_terms"
initialDisplayState="disabled"
maxSeverityLevel="300"
refreshOnPageOpenAllowed="true"/>
Fontes somente de problemas
Marque a origem como issue-only-safety-source
se houver nenhuma configuração associada
entrada, mas ainda são fornecidos avisos. Você pode fornecer apenas avisos; fornecendo
uma entrada de configurações resulta em erro:
<issue-only-safety-source
id="AndroidAccessibility"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
refreshOnPageOpenAllowed="true"/>
Origens estáticas
Marque a origem como static-safety-source
se for uma entrada de redirecionamento sem
dados dinâmicos:
<static-safety-source
id="AndroidAdvancedSecurity"
profile="primary_profile_only"
intentAction="com.google.android.settings.security.SECURITY_ADVANCED_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_advanced_security_title"
summary="@com.google.android.safetycenter.resources:string/google_advanced_security_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_advanced_security_search_terms"/>
Configuração de origem da Central de segurança
Dependendo do tipo de fonte da Central de segurança e de outras invariantes, a configuração campos de arquivo são opcionais, obrigatórios ou proibidos e podem ser personalizados:
id
- O identificador único da fonte de segurança, deve ser único em todo o e deve ter apenas caracteres alfabéticos (a-z, A-Z) e diferencia maiúsculas de minúsculas
- Tipo de string
- Obrigatório para todos os tipos de fontes de segurança
packageName
- Nome do pacote proprietário dessa fonte de segurança, por exemplo,
com.google.android.permissioncontroller
- Tipo de string
- Obrigatório para fontes de segurança dinâmicas e exclusivas para problemas
- Proibido para fontes de segurança estáticas no Android
13 no Android 14,
pode ser definido para segmentar o
intentAction
do objeto de forma explícita e não implícita (consulte a página sobre resolução de documentação para mais detalhes.
- Nome do pacote proprietário dessa fonte de segurança, por exemplo,
initialDisplayState
- Como a entrada da interface é exibida quando nenhum dado é fornecido pela equipe de segurança fonte
- O tipo de enumeração representado como uma string precisa ser um dos seguintes:
enabled
(padrão, exibido normalmente)disabled
(está esmaecido, não é possível clicar)hidden
(não aparece)
- Opcional para origens de segurança dinâmicas (o padrão é
enabled
) - Proibido para fontes de segurança estáticas e somente com problemas
profile
- Se essa fonte de segurança interage com o perfil gerenciado do usuário
- O tipo de enumeração representado como uma string precisa ser um dos seguintes:
primary_profile_only
(interage apenas com o perfil pai)all_profiles
(também pode interagir com os perfis gerenciados)
- No
all_profiles
, várias entradas de interface são geradas (uma para o perfil pai e uma para cada perfil gerenciado). a fonte de segurança pode fornecer dados diferentes para cada perfil - Obrigatório para todas as fontes de segurança
searchTerms
- Lista de termos de pesquisa mapeados para a entrada da Central de segurança ao usar Pesquisar no app Configurações
- ID do recurso representado como um nome de recurso totalmente qualificado, por exemplo,
@package:string/my_search_terms
- Opcional para origens de segurança dinâmicas e estáticas (o padrão é nenhuma pesquisa) )
- Proibido para fontes de segurança somente para problemas
title
- Título padrão da entrada da interface, usado quando nenhum dado é fornecido dinamicamente pela fonte
- ID do recurso representado como um nome de recurso totalmente qualificado, por exemplo,
@package:string/my_title
- Obrigatório para fontes de segurança dinâmicas e estáticas (a menos que
initialDisplayState="hidden"
semsearchTerms
) - Proibido para fontes de segurança somente para problemas
titleForWork
- Título padrão da entrada da interface do perfil gerenciado usado ao os dados não são fornecidos dinamicamente pela fonte
- ID do recurso representado como um nome de recurso totalmente qualificado, por exemplo,
@package:string/my_title_for_work
- Obrigatório para fontes de segurança dinâmicas e estáticas que tenham especificado
profile="all_profiles"
(a menos queinitialDisplayState="hidden"
semsearchTerms
) - Proibido para fontes de segurança exclusivas de problemas ou fontes com
profile="primary_profile_only"
summary
- Resumo padrão da entrada da interface (é uma descrição de texto mais longa) exibida abaixo do título), usada quando os dados não são fornecidos dinamicamente pelo a origem
- ID do recurso representado como um nome de recurso totalmente qualificado, por exemplo,
@package:string/my_summary
- Opcional para fontes de segurança estáticas (o padrão é não resumo)
- Obrigatório para origens de segurança dinâmicas (a menos que
initialDisplayState
sejahidden
). - Proibido para fontes de segurança somente para problemas
intentAction
- Ação a ser acionada quando a entrada da interface é clicada
- O tipo string, por exemplo,
com.google.android.settings.security.SECURITY_ADVANCED_SETTINGS
ou ID de recurso representado como um nome de recurso totalmente qualificado, por exemplo,@package:string/my_intent_action
- Se essa ação da intent não for resolvida para o
packageName
especificado (se a entrada da interface se comporta da mesma maneira queinitialDisplayState="disabled"
- Obrigatório para fontes de segurança estáticas e
dynamic
que terinitialDisplayState="enabled"
- Proibido para fontes de segurança somente para problemas
maxSeverityLevel
- Nível de gravidade máximo que esta fonte da Central de segurança pode fornecer
- Número inteiro representado como uma string, por exemplo,
300
- Opcional para fontes de segurança dinâmicas e somente de problemas (o padrão é não máximo)
- Proibido para fontes de segurança estáticas
loggingAllowed
- Se a Central de segurança pode registrar interações ou dados relacionados a isso fonte
- Booleano representado como uma string, por exemplo,
false
- Opcional para fontes de segurança dinâmicas e somente de problemas (o padrão é
true
) - Proibido para fontes de segurança estáticas
refreshOnPageOpenAllowed
- Se um indicador deve ser enviado à fonte de segurança para atualizar os dados dela quando a tela da Central de segurança for aberta
- Booleano representado como uma string, por exemplo,
true
- Opcional para fontes de segurança dinâmicas e somente de problemas (o padrão é
false
) - Proibido para fontes de segurança estáticas
notificationsAllowed
(do Android 14 em diante)- Se a fonte de segurança pode fornecer uma notificação quando informar um problema
- Booleano representado como uma string, por exemplo,
true
- Opcional para fontes de segurança dinâmicas e somente de problemas (o padrão é
false
) - Proibido para fontes de segurança estáticas
deduplicationGroup
(do Android 14 em diante)- Um possível identificador exclusivo que pode ser usado para eliminar a duplicação de problemas provenientes de diferentes fontes. Origens com a mesma eliminação de duplicação grupo pode enviar problemas com um ID de eliminação de duplicação opcional. Problemas com o o mesmo ID de eliminação de duplicação será mostrado apenas uma vez na interface, mesmo se várias fontes os enviam.
- Tipo de string
- Opcional para fontes de segurança dinâmicas e somente de problemas (o padrão é não eliminação de duplicação)
- Proibido para fontes de segurança estáticas
packageCertificateHashes
(do Android 14 em diante)- Uma lista separada por vírgulas de hashes de certificado para o determinado
packageName
: Se este valor estiver definido, um certificado checa será realizado com opackageCertificateHashes
fornecido para o dados depackageName
ao interagir com a fonte de segurança, por para fins de segurança. - Tipo de string
- Opcional para fontes de segurança dinâmicas e somente de problemas (o padrão é não verificações de certificado)
- Proibido para fontes de segurança estáticas
- Uma lista separada por vírgulas de hashes de certificado para o determinado
Personalizar grupos de fontes da Central de segurança
As fontes da Central de segurança precisam estar contidas em um grupo de fontes da Central de segurança. Cada grupo de origem é exibido na interface na ordem em que são exibidos. listados no arquivo. Cada origem é exibida no grupo na ordem As fontes estão listadas no arquivo. Se o grupo tiver uma única fonte de segurança, ele será exibido como uma única entrada, e não como um grupo.
Configuração do grupo de origens da Central de segurança
Use as seguintes variáveis para personalizar os grupos de origem da Central de segurança:
id
- Identificador exclusivo do grupo de fontes de segurança. precisa ser exclusivo no arquivo inteiro
- Tipo de string
- Obrigatório
title
- Título do grupo na interface
- ID do recurso representado como um nome de recurso totalmente qualificado, por exemplo,
@package:string/my_title
- Obrigatório se houver pelo menos uma fonte de segurança dinâmica ou estática no
o grupo (ou seja, ele não faz parte de
type="hidden"
);
summary
- Breve descrição do grupo na interface, exibida abaixo do título. exibidos em condições específicas, normalmente quando os dados não são fornecidos; Caso contrário, o resumo é calculado com base nos dados fornecidos pelo no grupo.
- ID do recurso representado como um nome de recurso totalmente qualificado, por exemplo,
@package:string/my_summary
- Opcional (o padrão é nenhum resumo)
statelessIconType
- Tipo de ícone exibido para o grupo quando nenhum estado é fornecido pelo fontes de segurança, como entradas estáticas
- Tipo de enumeração representado como uma string que precisa ser
none
ouprivacy
(o tipo de ícone de privacidade) - Opcional (o padrão é
none
)
type
(do Android 14 em diante)- Um tipo explícito para qualificar a forma como o grupo interage com a Central de segurança
- O tipo de enumeração representado como uma string precisa ser um dos seguintes:
stateful
(exibe e contribui para a Central de segurança de modo geral status)stateless
(exibe e não contribui para a segurança geral Center)hidden
(não é exibido, todas as origens precisam ser apenas de problemas)
- Opcional, inferido por padrão usando as fontes de segurança contidas em
o grupo, bem como o
summary
e ostatelessIconType
. Se otype
é especificado. Algumas outras invariantes são aplicadas para garantir que ele corresponda às origens encontradas no grupo (por exemplo, as O grupo não pode serhidden
se tiver entradas visíveis ao usuário)
Tipos de grupos de origens da Central de segurança
Os grupos de origem da Central de segurança são classificados como "com estado", "sem estado" ou "ocultos". com base no estado de determinados campos.
Grupo com estado
Um grupo que tem um título e um resumo, ou stateLessIconType="privacy"
é
considerados com estado contribuem para o status geral da Central de segurança:
<safety-sources-group
id="GoogleAppSecuritySources"
title="@com.google.android.safetycenter.resources:string/google_app_security_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_app_security_sources_summary">
<dynamic-safety-source
id="GooglePlayProtect"
packageName="com.android.vending"
profile="all_profiles"
intentAction="com.google.android.finsky.PLAY_PROTECT"
title="@com.google.android.safetycenter.resources:string/google_play_protect_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_play_protect_title_for_work"
summary="@com.google.android.safetycenter.resources:string/google_play_protect_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_play_protect_search_terms"
refreshOnPageOpenAllowed="true"/>
<dynamic-safety-source
id="GoogleAppProtectionService"
packageName="com.google.android.odad"
profile="primary_profile_only"
initialDisplayState="hidden"
loggingAllowed="false"/>
</safety-sources-group>
No Android 13, esse grupo vai aparecer como recolhível. entrada na interface. No Android 14, ele vai aparecer como entrada com seu próprio status que redireciona para a subpágina.
Grupo sem estado
Um grupo com um título, mas sem resumo, e stateLessIconType="none"
é
são consideradas sem estado e não contribuem para o status geral da Central de segurança:
<safety-sources-group
id="AndroidPrivacySources"
title="@com.google.android.safetycenter.resources:string/google_privacy_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_privacy_sources_summary"
statelessIconType="privacy">
<static-safety-source
id="AndroidPermissionUsage"
profile="primary_profile_only"
intentAction="android.intent.action.REVIEW_PERMISSION_USAGE"
title="@com.google.android.safetycenter.resources:string/google_permission_usage_title"
summary="@com.google.android.safetycenter.resources:string/google_permission_usage_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_permission_usage_search_terms"/>
<static-safety-source
id="AndroidPermissionManager"
profile="primary_profile_only"
intentAction="android.intent.action.MANAGE_PERMISSIONS"
title="@com.google.android.safetycenter.resources:string/google_permission_manager_title"
summary="@com.google.android.safetycenter.resources:string/google_permission_manager_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_permission_manager_search_terms"/>
<static-safety-source
id="AndroidPrivacyControls"
profile="primary_profile_only"
intentAction="android.settings.PRIVACY_CONTROLS"
title="@com.google.android.safetycenter.resources:string/google_privacy_controls_title"
summary="@com.google.android.safetycenter.resources:string/google_privacy_controls_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_privacy_controls_search_terms"/>
<issue-only-safety-source
id="AndroidAccessibility"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidNotificationListener"
packageName="com.google.android.permissioncontroller"
profile="primary_profile_only"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidBackgroundLocation"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidPermissionAutoRevoke"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
refreshOnPageOpenAllowed="true"/>
</safety-sources-group>
Esse grupo será exibido como uma lista rígida de entradas na interface.
Grupo oculto
Um grupo oculto contém apenas fontes de segurança específicas para problemas e não tem um título. Grupos ocultos não são exibidos na interface:
<safety-sources-group
id="HiddenGroup">
<issue-only-safety-source
id="AndroidAccessibility"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
refreshOnPageOpenAllowed="true"/>
</safety-sources-group>
Dados dinâmicos para uma entrada estática
É possível mostrar a origem dinâmica da Central de segurança como uma entrada estática, o que permite enviando entradas de redirecionamento dependendo de algumas condições, e permite personalizar o conteúdo no tempo de execução. Defina a origem dinâmica dentro de um grupo sem estado, por por exemplo, dependendo da sua entrada de informações de política de trabalho.
Este exemplo mostra uma fonte de segurança dinâmica que não fornece um Sinal de segurança, por estar em um grupo sem estado:
<safety-sources-group
id="AndroidAdvancedSources"
title="@com.google.android.safetycenter.resources:string/google_advanced_title">
<dynamic-safety-source
id="AndroidWorkPolicyInfo"
packageName="com.google.android.permissioncontroller"
profile="primary_profile_only"
initialDisplayState="hidden"
refreshOnPageOpenAllowed="true"/>
<!-- … -->
</safety-sources-group>
Neste exemplo, a fonte pode enviar apenas cartões de aviso verdes e fornecer um não especificado. Para fornecer outros dados, a origem precisa estar dentro de um grupo com estado.
Personalizar strings e campos de sobreposição
Para dispositivos GMS que não estão configurados para receber atualizações Mainline, em vez de sobrepondo todo o arquivo de configuração, você pode sobrepor seis recursos de string para atender a todas as necessidades de personalização. Os recursos de string sobrepostos são listados na tabela.
Recurso de string | Descrição |
---|---|
google_lock_screen_sources_summary |
Sobrepor esse valor para definir um resumo estático exibido para
no grupo AndroidLockScreenSources quando todas as origens em
estão em bom estado (informação ou gravidade não especificada)
nível de conta). Por padrão, a Central de segurança exibe o título de todas as fontes
no grupo concatenado como o resumo do grupo. |
google_biometrics_title |
Sobrepor esse valor a fim de definir um título estático para a fonte biométrica
do pacote com.android.settings usado quando não há
dados dinâmicos são fornecidos pela origem. Sobrepor quando também
sobrepondo o título dinamicamente fornecido pela fonte no
com.android.settings . Isso é ignorado por padrão
porque o estado de exibição inicial da origem é
hidden : |
google_biometrics_summary |
Sobrepor esse valor a fim de definir um resumo estático para a atividade biométrica
origem do pacote com.android.settings usado
quando nenhum dado dinâmico é fornecido pela origem. Isso é ignorado pela
porque o estado de exibição inicial da origem é
hidden : |
google_biometrics_search_terms |
Sobreponha esse valor para definir uma lista de termos de pesquisa para a biometria
origem de propriedade do pacote com.android.settings . |
google_biometrics_initial_display_state |
Sobrepor esse valor para mostrar uma entrada de interface para a fonte biométrica detida
pelo pacote com.android.settings quando não há dados dinâmicos
é fornecido pela fonte. O valor padrão é
hidden : |
google_security_updates_intent |
Sobrepor esse valor para mudar a intent necessária para abrir a atividade
que permite ao usuário verificar e instalar atualizações de segurança. Isso
a ação da intent precisa estar associada a uma atividade exportada. A
o valor padrão é
android.settings.SYSTEM_UPDATE_SETTINGS : |
Nenhuma outra string no pacote com.google.android.safetycenter.resources
está
que podem ser sobrepostas.
Para dispositivos AOSP, todos os recursos em com.android.safetycenter.resources
são sobrepostos sem restrição de conteúdo.
Para dispositivos GMS que não estão configurados para receber atualizações Mainline, crie um
Substituição ou sobreposição de pacote de com.google.android.safetycenter.resources
com.android.safetycenter.resources
definindo todas as strings esperadas pelo
Testes GTS.
Essas strings são:
google_app_security_sources_title
google_app_security_sources_summary
google_play_protect_title
google_play_protect_title_for_work
google_play_protect_summary
google_play_protect_search_terms
google_lock_screen_sources_title
google_lock_screen_sources_summary
google_lock_screen_title
google_lock_screen_summary
google_lock_screen_search_terms
google_biometrics_title
google_biometrics_summary
google_biometrics_search_terms
google_biometrics_initial_display_state
google_accounts_sources_title
google_accounts_sources_summary
google_security_checkup_title
google_security_checkup_title_for_work
google_security_checkup_summary
google_security_checkup_search_terms
google_device_finder_sources_title
google_device_finder_sources_summary
google_find_my_device_title
google_find_my_device_summary
google_find_my_device_search_terms
google_updates_title
google_updates_summary
google_security_updates_title
google_security_updates_summary
google_security_updates_search_terms
google_security_updates_intent
google_play_system_update_title
google_play_system_update_summary
google_play_system_update_search_terms
google_privacy_sources_title
google_privacy_sources_summary
google_permission_usage_title
google_permission_usage_summary
google_permission_usage_search_terms
google_permission_manager_title
google_permission_manager_summary
google_permission_manager_search_terms
google_privacy_controls_title
google_privacy_controls_summary
google_privacy_controls_search_terms
google_advanced_title
google_advanced_security_title
google_advanced_security_summary
google_advanced_security_search_terms
google_advanced_privacy_title
google_advanced_privacy_summary
google_advanced_privacy_search_terms
Requisitos de personalização
Requisitos de formato do arquivo
O arquivo de configuração precisa ser um arquivo XML e seguir o formato descrito em
Atualize o arquivo de configuração. O arquivo deve estar no
raw
. Ele precisa atender às invariantes descritas em Personalizar a Central de segurança
fontes e
Personalizar fontes da Central de segurança
grupos. Se o
de configuração do Terraform não estiver bem formado de acordo com os requisitos acima, o
recurso está totalmente desativado. A análise deste arquivo também tem suporte do CTS e GTS
testes que podem fornecer contexto adicional caso o arquivo não esteja bem formado (em
parte superior
Logcat
registros do dispositivo).
Dispositivos dos Serviços do Google
Em dispositivos GMS, algumas restrições são impostas neste arquivo. Isso é compatível com GTS de testes.
Dispositivos AOSP
Em dispositivos AOSP, o arquivo de configuração precisa ser bem formado e passar no CTS testes de segurança de Ajuda. Os testes verificam se o arquivo está formado corretamente. Os dispositivos GMS também precisam passar nesses testes.