Personalizza il Centro per la sicurezza online

Attivare o disattivare il Centro per la sicurezza online

Per attivare o disattivare il Centro per la sicurezza online, utilizza l'overlay config_enableSafetyCenter nel campo booleano frameworks/base/core/res/res/values/config.xml .

Sulla maggior parte dei dispositivi, il Centro per la sicurezza online è supportato per impostazione predefinita, ad esempio sui telefoni e tablet. Su alcuni fattori di forma, il Centro per la sicurezza online è disattivato per impostazione predefinita ad esempio su 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>

Per supportare il Centro per la sicurezza online, imposta config_enableSafetyCenter su true. Se non vuoi supportare il Centro per la sicurezza online, imposta questo valore su false per disattivarlo.

Quando il Centro per la sicurezza online è disattivato, qualsiasi tentativo di reindirizzamento alla sezione Sicurezza e La pagina della privacy apre invece l'app Impostazioni. Qualsiasi tentativo di interazione Le API vengono ignorate automaticamente o restituiscono un valore predefinito. L'elemento rapido associato Anche il riquadro Impostazioni e la voce Impostazioni sono visibili o nascoste, a seconda che Il Centro per la sicurezza online è attivo.

Flag DeviceConfig

Oltre ad attivare il Centro per la sicurezza online tramite config_enableSafetyCenter una configurazione automatica, DeviceConfig (safety_center_is_enabled) viene utilizzato per attivare o disattivare la sicurezza da remoto al centro.

In Android 14 e versioni successive non sono necessarie ulteriori azioni poiché questo flag è true per impostazione predefinita.

In Android 13, il Centro per la sicurezza online è disattivato per impostazione predefinita lato server e abilitato mediante lista consentita utilizzando questo flag. Invia il tuo dispositivo fingerprint e contatta il TAM per farti aggiungere alla lista consentita. Tieni presente che Per aggiungere alla lista consentita è richiesta la versione principale M-2022-11 o successiva. Per lo sviluppo e i test locali, il flag può essere attivato o disattivato localmente (fino al riavvio) con un comando adb. Ad esempio, per abilitare il flag:

adb root
adb shell device_config set_sync_disabled_for_tests until_reboot
adb shell device_config put privacy safety_center_is_enabled true

Per verificare se il Centro per la sicurezza online è attivo:

adb root
adb shell cmd safety_center enabled

L'output restituirà se il Centro per la sicurezza online è correttamente attivato sul dispositivo.

Aggiorna il file di configurazione

Utilizza il file di configurazione safety_center_config.xml per modificare i contenuti di nella schermata Centro per la sicurezza online. Puoi sovrapporre questo file supponendo di soddisfare i requisiti Requisiti di personalizzazione.

Sovrapporre il file di configurazione

Per sovrapporre il file safety_center_config.xml, consulta l'articolo Modificare il valore di un dell'app in fase di runtime per informazioni sulla modifica degli overlay delle risorse di runtime.

In Android 14, assicurati di sovrapporre res/raw-v34/safety_center_config.xml e non il file res/raw/safety_center_config.xml ha la precedenza (anche questo si applica ad altri file nell'ambito di v34, ad esempio res/values-v34/strings.xml). Il pacchetto di overlay deve avere un SDK minimo inferiore rispetto a 34, altrimenti il qualificatore v34 potrebbe essere rimosso durante l'ottimizzazione. Assicurati inoltre di utilizzare un overlay statico, poiché questo valore viene caricato intorno all'avvio nel tempo.

Per i dispositivi Android Open Source Project (AOSP), scegli il pacchetto come target com.android.safetycenter.resources. Non esiste una configurazione overlay in target. Tutte le risorse sono sovrapponibili senza limitazioni ai contenuti.

Per i dispositivi GMS configurati per ricevere aggiornamenti Mainline, scegli come target pacchetto com.google.android.safetycenter.resources. Scegli come target la configurazione SafetyCenterConfig. Questa configurazione richiede che il pacchetto overlay sia la partizione product, system o vendor. Gli OEM GMS devono copiare Google ha fornito safety_center_config.xml file e limite modifiche a quelle consentite dal GTS test. Definizione dell'overlay dovrebbe essere simile a questo:

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

Per i dispositivi GMS che non sono configurati per ricevere aggiornamenti Mainline, scegli come target pacchetto com.android.safetycenter.resources. Non è presente una configurazione overlay scegliere come target. Il pacchetto di overlay deve utilizzare il nome del pacchetto com.google.android.safetycenter.resources.

Gli OEM GMS devono copiare il file safety_center_config.xml fornito da Google e limitare le modifiche a quelle consentite dai test GTS. Gli OEM GMS devono inoltre definire le stringhe utilizzate nella configurazione XML.

Struttura del file

A livello generale, il file safety_center_config.xml è un elenco di misure di sicurezza fonti. Queste fonti di sicurezza sono organizzate in gruppi per gestire gli indicatori su schermata Centro per la sicurezza online, ad esempio Sicurezza app o Blocco schermo. L'ordine di questo elenco definisce l'ordine di visualizzazione:

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

File di configurazione Google

Il file di configurazione AOSP si trova in packages/modules/Permission/SafetyCenter/Resources/res/raw/safety_center_config.xml

In Android 13, il file di configurazione di 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>

In Android 14, il file di configurazione di 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>

Personalizza le fonti del Centro per la sicurezza online

Tipi di origine del Centro per la sicurezza online

Le origini possono essere dinamiche, solo problematiche o statiche, a seconda del tipo di dati che fornire al Centro per la sicurezza online.

Origini dinamiche

Contrassegna la fonte di sicurezza come dynamic-safety-source se può fornire dati dinamici al Centro per la sicurezza online per le schede di ingresso e potenziali avvisi:

<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"/>

Fonti esclusivamente problematiche

Contrassegna la fonte come issue-only-safety-source, se sono presenti nessuna impostazione associata ma vengono comunque forniti avvisi. Puoi fornire solo avvisi; fornendo una voce di impostazioni genera un errore:

<issue-only-safety-source
    id="AndroidAccessibility"
    packageName="com.google.android.permissioncontroller"
    profile="all_profiles"
    refreshOnPageOpenAllowed="true"/>

Origini statiche

Contrassegna l'origine come static-safety-source se si tratta di una voce di reindirizzamento senza dati dinamici:

<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"/>

Configurazione dell'origine Centro per la sicurezza online

A seconda del tipo di origine del Centro per la sicurezza online e di altri elementi invarianti, I campi del file sono facoltativi, obbligatori o vietati e possono essere personalizzati:

  • id
    • L'identificatore univoco della fonte di sicurezza, deve essere univoco in tutta e deve essere composto solo da caratteri alfabetici (a-z, A-Z) e fa distinzione tra maiuscole e minuscole
    • Tipo di stringa
    • Obbligatorio per tutti i tipi di fonti di sicurezza
  • packageName
    • Nome del pacchetto proprietario di questa origine di sicurezza, ad esempio: com.google.android.permissioncontroller
    • Tipo di stringa
    • Obbligatorio per le fonti di sicurezza dinamiche e solo per problemi
    • Vietato per fonti di sicurezza statiche in Android 13; in Android 14 può essere impostato facoltativamente per avere come target la intentAction dell'origine esplicitamente anziché implicitamente (consulta la risoluzione dell'intento documentazione per ulteriori dettagli).
  • initialDisplayState
    • Come viene visualizzata la voce UI quando non vengono forniti dati dalla sicurezza fonte
    • Tipo di enum rappresentato come stringa, che deve essere uno dei seguenti:
      • enabled (valore predefinito, viene visualizzato normalmente)
      • disabled (visualizzato in grigio, non è possibile fare clic)
      • hidden (non viene visualizzata)
    • Facoltativo per le fonti di sicurezza dinamiche (il valore predefinito è enabled)
    • Vietato per fonti di sicurezza statiche e solo per problemi
  • profile
    • Se questa fonte di sicurezza interagisce con il profilo gestito dell'utente
    • Tipo di enum rappresentato come stringa, che deve essere uno dei seguenti:
      • primary_profile_only (interagisce solo con il genitore del profilo)
      • all_profiles (può anche interagire con i profili gestiti)
    • Il giorno all_profiles, vengono generate diverse voci della UI (una per il profilo principale e una per ogni profilo gestito); la fonte di sicurezza può fornire dati diversi per ogni profilo.
    • Obbligatorio per tutte le fonti di sicurezza
  • searchTerms
    • Elenco di termini di ricerca associati alla voce del Centro per la sicurezza online durante l'utilizzo cerca nell'app Impostazioni
    • ID risorsa rappresentato da un nome risorsa completo, ad esempio @package:string/my_search_terms
    • Facoltativa per le origini di sicurezza dinamiche e statiche (l'impostazione predefinita è nessuna ricerca termini)
    • Vietato per fonti di sicurezza solo per problemi
  • title
    • Titolo predefinito della voce dell'interfaccia utente, utilizzato quando non vengono forniti dati in modo dinamico. dalla fonte
    • ID risorsa rappresentato da un nome risorsa completo, ad esempio @package:string/my_title
    • Obbligatorio per le fonti di sicurezza dinamiche e statiche (a meno che initialDisplayState="hidden" senza searchTerms)
    • Vietato per fonti di sicurezza solo per problemi
  • titleForWork
    • Titolo predefinito della voce dell'interfaccia utente per il profilo gestito utilizzato quando i dati non vengono forniti dinamicamente dall'origine
    • ID risorsa rappresentato da un nome risorsa completo, ad esempio @package:string/my_title_for_work
    • Obbligatorio per le fonti di sicurezza dinamiche e statiche che hanno specificato profile="all_profiles" (a meno che initialDisplayState="hidden" senza searchTerms)
    • Vietato per fonti di sicurezza solo per problemi o fonti con profile="primary_profile_only"
  • summary
    • Riepilogo predefinito della voce dell'interfaccia utente (questa è una descrizione testuale più lunga) visualizzata sotto il titolo), utilizzata quando i dati non sono forniti in modo dinamico la fonte
    • ID risorsa rappresentato da un nome risorsa completo, ad esempio @package:string/my_summary
    • Facoltativo per le origini di sicurezza statiche (l'impostazione predefinita non è un riepilogo)
    • Obbligatorio per le fonti di sicurezza dinamiche (a meno che initialDisplayState non sia hidden)
    • Vietato per fonti di sicurezza solo per problemi
  • intentAction
    • Azione da attivare quando l'utente fa clic sulla voce dell'interfaccia utente
    • Tipo di stringa, ad esempio com.google.android.settings.security.SECURITY_ADVANCED_SETTINGS, oppure ID risorsa rappresentato da un nome risorsa completo, ad esempio @package:string/my_intent_action
    • Se l'azione di intent non si risolve per il valore packageName specificato (se qualsiasi), la voce dell'interfaccia utente si comporta allo stesso modo di avere initialDisplayState="disabled"
    • Obbligatorio per le fonti di sicurezza statiche e per dynamic fonti di sicurezza che hanno initialDisplayState="enabled"
    • Vietato per fonti di sicurezza solo per problemi
  • maxSeverityLevel
    • Livello di gravità massimo che può fornire questa fonte del Centro per la sicurezza online
    • Numero intero rappresentato come stringa, ad esempio 300
    • Facoltativa per le fonti di sicurezza dinamiche e solo per problemi (l'impostazione predefinita è no massimo)
    • Vietato per fonti di sicurezza statiche
  • loggingAllowed
    • Se il Centro per la sicurezza online può registrare interazioni o dati correlati fonte
    • Valore booleano rappresentato come una stringa, ad esempio false
    • Facoltativo per le fonti di sicurezza dinamiche e solo con problemi (il valore predefinito è true)
    • Vietato per fonti di sicurezza statiche
  • refreshOnPageOpenAllowed
    • Indica se deve essere inviato un segnale alla fonte di sicurezza per aggiornare i suoi dati Quando si apre la schermata Centro per la sicurezza online
    • Valore booleano rappresentato come una stringa, ad esempio true
    • Facoltativo per le fonti di sicurezza dinamiche e solo con problemi (il valore predefinito è false)
    • Vietato per fonti di sicurezza statiche
  • notificationsAllowed (a partire da Android 14)
    • Indica se la fonte di sicurezza può o meno fornire una notifica quando segnalazione di un problema
    • Valore booleano rappresentato come una stringa, ad esempio true
    • Facoltativo per le fonti di sicurezza dinamiche e solo con problemi (il valore predefinito è false)
    • Vietato per fonti di sicurezza statiche
  • deduplicationGroup (a partire da Android 14)
    • Un potenziale identificatore univoco che può essere utilizzato per deduplicare i problemi provenienti da diverse fonti. Origini all'interno della stessa deduplicazione Il gruppo può inviare problemi con un ID di deduplicazione facoltativo. Problemi relativi lo stesso ID di deduplicazione verrà mostrato una sola volta nella UI, anche se più fonti li inviano.
    • Tipo di stringa
    • Facoltativa per le fonti di sicurezza dinamiche e solo per problemi (l'impostazione predefinita è no deduplicazione)
    • Vietato per fonti di sicurezza statiche
  • packageCertificateHashes (a partire da Android 14)
    • Un elenco separato da virgole di hash dei certificati per il packageName. Se questa impostazione è impostata, viene eseguito un certificato verifica verrà eseguita rispetto al packageCertificateHashes specificato per dato packageName durante l'interazione con la fonte di sicurezza, per per motivi di sicurezza.
    • Tipo di stringa
    • Facoltativa per le fonti di sicurezza dinamiche e solo per problemi (l'impostazione predefinita è no controlli dei certificati)
    • Vietato per fonti di sicurezza statiche

Personalizza i gruppi di origini del Centro per la sicurezza online

Le origini del Centro per la sicurezza online devono essere contenute all'interno di un gruppo di origini del Centro per la sicurezza online. Ogni gruppo di origine viene visualizzato nella UI nell'ordine in cui sono i gruppi di origine. elencato nel file. Ogni origine viene visualizzata all'interno del gruppo nell'ordine Le origini sono elencate nel file. Se il gruppo contiene una sola fonte di sicurezza, viene visualizzato come singola voce anziché come gruppo.

Configurazione del gruppo di origini del Centro per la sicurezza online

Utilizza le seguenti variabili per personalizzare i gruppi di origine del Centro per la sicurezza online:

  • id
    • Identificatore univoco del gruppo delle fonti di sicurezza; devono essere univoci intero file
    • Tipo di stringa
    • Obbligatorio
  • title
    • Titolo del gruppo nell'interfaccia utente
    • ID risorsa rappresentato da un nome risorsa completo, ad esempio @package:string/my_title
    • Obbligatorio se è presente almeno una fonte di sicurezza dinamica o statica all'interno Il gruppo (ad esempio, il gruppo non fa parte di type="hidden")
  • summary
    • Breve descrizione del gruppo nell'interfaccia utente, visualizzata sotto il titolo. Visualizzati in condizioni specifiche, in genere quando non vengono forniti dati. altrimenti il riepilogo viene calcolato in base ai dati forniti all'interno del gruppo.
    • ID risorsa rappresentato da un nome risorsa completo, ad esempio @package:string/my_summary
    • Facoltativo (il valore predefinito non è un riepilogo)
  • statelessIconType
    • Tipo di icona visualizzata per il gruppo quando non è fornito nessuno stato fonti di sicurezza, ad esempio voci statiche
    • Tipo di enum rappresentato come una stringa che deve essere none o privacy (il tipo di icona della privacy)
    • Facoltativo (il valore predefinito è none)
  • type (a partire da Android 14)
    • Un tipo esplicito per qualificare le modalità di interazione di questo gruppo con il Centro per la sicurezza online
    • Tipo di enum rappresentato come stringa, che deve essere uno dei seguenti:
      • stateful (visualizza e contribuisce al Centro per la sicurezza online in generale) )
      • stateless (viene visualizzato e non contribuisce alla sicurezza generale) Center)
      • hidden (non viene visualizzata, tutte le origini devono essere incentrate esclusivamente sul problema)
    • Facoltativo, dedotto per impostazione predefinita utilizzando le fonti di sicurezza contenute in il gruppo, così come summary e statelessIconType. Se type è stato specificato e vengono applicati alcuni valori invarianti aggiuntivi per garantire in modo che corrisponda alle origini trovate nel gruppo (ad esempio, il gruppo non può essere hidden se contiene voci visibili all'utente)

Tipi di gruppi di origini del Centro per la sicurezza online

I gruppi di origine del Centro per la sicurezza online sono classificati come stateful, stateless o nascosti, in base allo stato di alcuni campi.

Gruppo stateful

Un gruppo che ha sia un titolo che un riepilogo, oppure stateLessIconType="privacy" La versione stateful contribuisce allo stato generale del Centro per la sicurezza online:

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

In Android 13, un gruppo di questo tipo verrà visualizzato come comprimibile nell'interfaccia utente. In Android 14, viene visualizzata come con un proprio stato che reindirizza alla pagina secondaria.

Gruppo stateless

Un gruppo che ha un titolo ma non un riepilogo e stateLessIconType="none" è considerati stateless e non contribuiscono allo stato generale del Centro per la sicurezza online:

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

Un gruppo di questo tipo verrà visualizzato come un elenco rigido di voci nella UI.

Gruppo nascosto

Un gruppo nascosto contiene solo fonti di sicurezza esclusivamente relative al problema e non ha un titolo. I gruppi nascosti non vengono visualizzati nell'interfaccia utente:

<safety-sources-group
    id="HiddenGroup">
    <issue-only-safety-source
        id="AndroidAccessibility"
        packageName="com.google.android.permissioncontroller"
        profile="all_profiles"
        refreshOnPageOpenAllowed="true"/>
</safety-sources-group>

Dati dinamici per una voce statica

Puoi visualizzare la sorgente dinamica del Centro per la sicurezza online come voce statica, il che consente il push delle voci di reindirizzamento in base ad alcune condizioni e consente la i propri contenuti in fase di runtime. Definisci l'origine dinamica all'interno di un gruppo stateless, per ad esempio, a seconda delle informazioni immesse sulle norme di lavoro.

Questo esempio mostra una sorgente di sicurezza dinamica che non fornisce un segnale di sicurezza. perché è in un gruppo stateless:

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

In questo esempio, la fonte può inviare solo schede di avviso verdi e fornire una non specificato. Per poter fornire altri dati, l'origine deve trovarsi all'interno di un gruppo stateful,

Personalizza stringhe e campi in overlay

Per i dispositivi GMS che non sono configurati per ricevere aggiornamenti Mainline, invece di all'intero file di configurazione, puoi sovrapporre sei risorse stringa per soddisfare tutte le esigenze di personalizzazione. Vengono elencate le risorse stringa in overlay nella tabella.

Risorsa stringa Descrizione
google_lock_screen_sources_summary Sovrapporre questo valore per definire un riepilogo statico da visualizzare per il gruppo AndroidLockScreenSources quando tutte le origini Il gruppo è in buono stato (informazioni o gravità non specificata ). Per impostazione predefinita, il Centro per la sicurezza online mostra il titolo di tutte le fonti nel gruppo concatenate come riepilogo per il gruppo.
google_biometrics_title Sovrapponi questo valore per definire un titolo statico per la fonte biometrica di proprietà del pacchetto com.android.settings utilizzato quando non esistono i dati dinamici sono forniti dalla sorgente. Sovrapposizione di questo anche quando sovrapponendo il titolo in modo dinamico fornito dalla fonte com.android.settings pacco. Questa opzione viene ignorata per impostazione predefinita poiché lo stato di visualizzazione iniziale dell'origine è hidden.
google_biometrics_summary Sovrapponi questo valore per definire un riassunto statico per i dati biometrici origine di proprietà del pacchetto com.android.settings utilizzato quando nessun dato dinamico viene fornito dalla sorgente. Questo valore viene ignorato da predefinito perché lo stato di visualizzazione iniziale per l'origine è hidden.
google_biometrics_search_terms Sovrapponi questo valore per definire un elenco di termini di ricerca per i dati biometrici sorgente di proprietà del pacchetto com.android.settings.
google_biometrics_initial_display_state Sovrapponi questo valore per mostrare una voce dell'interfaccia utente per la fonte biometrica di proprietà dal pacchetto com.android.settings quando non sono presenti dati dinamici è fornito dalla fonte. Il valore predefinito è hidden.
google_security_updates_intent Sovrapponi questo valore per modificare l'intent necessario per aprire l'attività che consente all'utente di controllare e installare gli aggiornamenti della sicurezza. Questo l'azione intent deve essere associata a un'attività esportata. La il valore predefinito è android.settings.SYSTEM_UPDATE_SETTINGS.

Nessun'altra stringa nel pacchetto com.google.android.safetycenter.resources è sovrapponibili.

Per i dispositivi AOSP, tutte le risorse in com.android.safetycenter.resources sono sovrapponibili senza restrizioni sui contenuti.

Per i dispositivi GMS che non sono configurati per ricevere aggiornamenti Mainline, crea un'istanza com.google.android.safetycenter.resources pacchetto in sostituzione o in sovrapposizione com.android.safetycenter.resources che definisce tutte le stringhe previste test GTS.

Queste stringhe sono:

  • 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

Requisiti di personalizzazione

Requisiti per i formati file

Il file di configurazione deve essere un file XML e rispettare il formato descritto in Aggiorna il file di configurazione. Il file deve essere nel formato raw cartella. Deve rispettare le varianti descritte in Personalizzare il Centro per la sicurezza online. di terze parti e Personalizzare le fonti del Centro per la sicurezza online gruppi. Se di configurazione del file di configurazione non è formato correttamente per i requisiti di cui sopra, è disabilitata del tutto. L'analisi di questo file è supportata anche da CTS e GTS test che possono fornire un contesto aggiuntivo nel caso in cui il file non abbia un formato corretto (su parte superiore del logcat log del dispositivo).

Dispositivi dei servizi Google

Sui dispositivi GMS, sono imposti alcuni vincoli a questo file. Questa funzionalità è supportata da GTS test.

Dispositivi AOSP

Sui dispositivi AOSP, il file di configurazione deve avere una formattazione corretta e deve passare il parametro CTS test per la sicurezza al centro. I test verificano che il file sia nel formato corretto. I dispositivi GMS devono inoltre superare questi test.