Mengaktifkan atau menonaktifkan Pusat Keselamatan
Untuk mengaktifkan atau menonaktifkan Pusat Keamanan, gunakan kolom boolean config_enableSafetyCenter
yang dapat overlay
di file
frameworks/base/core/res/res/values/config.xml
.
Di sebagian besar perangkat, Pusat Keamanan didukung secara default, misalnya, di ponsel dan tablet. Di beberapa faktor bentuk, Pusat Keamanan dinonaktifkan secara default, misalnya, di Auto, TV, dan 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>
Untuk mendukung Pusat Keamanan, tetapkan config_enableSafetyCenter
ke true
. Jika Anda
tidak ingin mendukung Pusat Keamanan, tetapkan nilai ini ke false
untuk menonaktifkannya.
Jika Pusat Keselamatan dinonaktifkan, setiap upaya untuk mengalihkan ke halaman Security & Privacy akan membuka aplikasi Setelan. Setiap upaya untuk berinteraksi dengan API akan diabaikan secara diam-diam atau menampilkan nilai default. Kartu Setelan Cepat dan entri Setelan terkait juga ditampilkan atau disembunyikan, bergantung pada apakah Safety Center diaktifkan.
Flag DeviceConfig
Selain mengaktifkan Pusat Keamanan menggunakan konfigurasi
config_enableSafetyCenter
, tanda
DeviceConfig
(safety_center_is_enabled
) digunakan untuk mengaktifkan atau menonaktifkan Pusat
Keamanan dari jarak jauh.
Di Android 14 dan yang lebih baru, Anda tidak perlu melakukan tindakan lebih lanjut
karena tanda ini adalah true
secara default.
Di Android 13, Pusat Keamanan dinonaktifkan secara default
sisi server dan diaktifkan dengan daftar yang diizinkan menggunakan tanda ini. Kirim sidik jari perangkat dan hubungi TAM Anda untuk ditambahkan ke daftar yang diizinkan. Perhatikan bahwa
versi utama M-2022-11
atau yang lebih tinggi harus ditambahkan ke daftar yang diizinkan.
Untuk pengembangan dan pengujian lokal, tanda ini dapat diaktifkan atau dinonaktifkan secara lokal
(hingga dimulai ulang) dengan perintah adb
. Misalnya, untuk mengaktifkan tanda:
adb root
adb shell device_config set_sync_disabled_for_tests until_reboot
adb shell device_config put privacy safety_center_is_enabled true
Dan untuk mengonfirmasi apakah Pusat Keamanan diaktifkan:
adb root
adb shell cmd safety_center enabled
Output akan menampilkan apakah Pusat Keamanan diaktifkan dengan benar di perangkat.
Memperbarui file konfigurasi
Gunakan file konfigurasi safety_center_config.xml
untuk mengubah konten
layar Pusat Keselamatan. Anda dapat menempatkan file ini dengan asumsi Anda telah memenuhi
Persyaratan Penyesuaian.
Membuat overlay file konfigurasi
Untuk menempatkan file safety_center_config.xml
, lihat Mengubah nilai
resource aplikasi saat runtime
untuk mengetahui informasi tentang cara mengubah overlay resource runtime (RRO).
Di Android 14, pastikan untuk menempatkan
file res/raw-v34/safety_center_config.xml
, bukan
res/raw/safety_center_config.xml
karena yang pertama lebih diutamakan (ini juga
berlaku untuk file lain yang dicakup untuk v34
, misalnya
res/values-v34/strings.xml
). Paket overlay harus memiliki SDK minimum yang lebih rendah
dari 34
. Jika tidak, penentu v34
dapat dihapus selama pengoptimalan.
Pastikan juga untuk menggunakan overlay statis, karena nilai ini dimuat pada waktu
booting.
Untuk perangkat Project Open Source Android (AOSP), targetkan paket
com.android.safetycenter.resources
. Tidak ada konfigurasi overlay untuk ditargetkan. Semua resource dapat ditempatkan tanpa batasan terhadap kontennya.
Untuk perangkat GMS yang dikonfigurasi untuk menerima update Mainline, targetkan
paket com.google.android.safetycenter.resources
. Targetkan konfigurasi
SafetyCenterConfig
. Konfigurasi ini mengharuskan paket overlay berada dalam
partisi product
, system
, atau vendor
. OEM GMS harus menyalin
file
safety_center_config.xml
yang disediakan Google dan membatasi
perubahan pada yang diizinkan oleh pengujian
GTS. Definisi overlay
harus mendekati ini:
<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>
Untuk perangkat GMS yang tidak dikonfigurasi untuk menerima update Mainline, targetkan
paket com.android.safetycenter.resources
. Tidak ada konfigurasi overlay
untuk ditargetkan. Paket overlay harus menggunakan nama paket
com.google.android.safetycenter.resources
.
OEM GMS harus menyalin file safety_center_config.xml
yang disediakan Google dan membatasi modifikasi pada file yang diizinkan oleh pengujian GTS. OEM GMS juga harus menentukan
string yang digunakan dalam konfigurasi XML.
Struktur file
Pada tingkat tinggi, file safety_center_config.xml
adalah daftar sumber
keamanan. Sumber keamanan ini diatur dalam grup untuk mengelola sinyal di
layar Pusat Keamanan, misalnya, Keamanan Aplikasi atau Kunci Layar. Urutan
daftar ini menentukan urutan tampilan:
<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 konfigurasi Google
File konfigurasi AOSP terletak di
packages/modules/Permission/SafetyCenter/Resources/res/raw/safety_center_config.xml
.
Di Android 13, file konfigurasi Google adalah:
<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>
Di Android 14, file konfigurasi Google adalah:
<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>
Di Android 15, file konfigurasi Google adalah:
<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"
titleForPrivateProfile="@com.google.android.safetycenter.resources:string/google_play_protect_title_for_private_profile"
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"
titleForPrivateProfile="@com.google.android.safetycenter.resources:string/google_biometrics_title_for_private_profile"
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"/>
<dynamic-safety-source
id="GoogleAutoLock"
packageName="com.google.android.gms"
profile="primary_profile_only"
initialDisplayState="hidden"
maxSeverityLevel="0"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"/>
</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"
titleForPrivateProfile="@com.google.android.safetycenter.resources:string/google_security_checkup_title_for_private_profile"
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"
titleForPrivateProfile="@com.google.android.safetycenter.resources:string/google_password_checkup_title_for_private_profile"
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="AndroidCellularNetworkSecuritySources"
title="@com.google.android.safetycenter.resources:string/google_cellular_network_security_title"
summary="@com.google.android.safetycenter.resources:string/google_cellular_network_security_summary">
<dynamic-safety-source
id="AndroidCellularNetworkSecurity"
packageName="com.android.phone"
profile="primary_profile_only"
notificationsAllowed="true"
initialDisplayState="hidden"/>
</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">
<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="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"
titleForPrivateProfile="@com.google.android.safetycenter.resources:string/google_ads_identity_title_for_private_profile"
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"
titleForPrivateProfile="@com.google.android.safetycenter.resources:string/google_activity_controls_title_for_private_profile"
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="AndroidPrivacySourcesAdditional"
title="@com.google.android.safetycenter.resources:string/google_privacy_additional_title">
<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"/>
<dynamic-safety-source
id="AndroidPrivateSpace"
packageName="com.android.settings"
profile="primary_profile_only"
title="@com.google.android.safetycenter.resources:string/google_private_space_title"
summary="@com.google.android.safetycenter.resources:string/google_private_space_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_private_space_search_terms"
initialDisplayState="hidden"
maxSeverityLevel="0"/>
</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>
Sesuaikan sumber Pusat Keamanan
Jenis sumber Pusat Keamanan
Sumber dapat bersifat dinamis, khusus masalah, atau statis, berdasarkan jenis data yang diberikan ke Pusat Keselamatan.
Sumber dinamis
Tandai sumber keamanan sebagai dynamic-safety-source
jika dapat menyediakan data dinamis
ke Pusat Keamanan, baik untuk kartu peringatan masuk maupun kemungkinan:
<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"/>
Sumber masalah saja
Tandai sumber sebagai issue-only-safety-source
jika tidak ada entri setelan
terkait, tetapi peringatan tetap diberikan. Anda hanya dapat memberikan peringatan; memberikan
entri setelan akan menyebabkan error:
<issue-only-safety-source
id="AndroidAccessibility"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
refreshOnPageOpenAllowed="true"/>
Sumber statis
Tandai sumber sebagai static-safety-source
jika merupakan entri pengalihan tanpa
data dinamis:
<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"/>
Konfigurasi sumber Safety Center
Bergantung pada jenis sumber Pusat Keamanan dan invarian lainnya, kolom file konfigurasi bersifat opsional, wajib, atau dilarang, dan dapat disesuaikan:
id
- ID unik untuk sumber keamanan, harus unik di seluruh file dan hanya boleh terdiri dari karakter alfabet (a-z, A-Z) serta peka huruf besar/kecil
- Jenis string
- Wajib untuk semua jenis sumber keamanan
packageName
- Nama paket yang memiliki sumber keamanan ini, misalnya,
com.google.android.permissioncontroller
- Jenis string
- Wajib untuk sumber keamanan dinamis dan khusus masalah
- Dilarang untuk sumber keamanan statis di Android
13; di Android 14, hal ini
dapat secara opsional ditetapkan untuk menargetkan
intentAction
sumber secara eksplisit, bukan secara implisit (lihat dokumentasi resolusi intent untuk mengetahui detail selengkapnya)
- Nama paket yang memiliki sumber keamanan ini, misalnya,
initialDisplayState
- Cara entri UI ditampilkan jika tidak ada data yang diberikan oleh sumber keamanan
- Jenis enum yang direpresentasikan sebagai string, harus berupa salah satu dari berikut ini:
enabled
(default, ditampilkan normal)disabled
(tampilan berwarna abu-abu, tidak dapat diklik)hidden
(tidak ditampilkan)
- Opsional untuk sumber keamanan dinamis (defaultnya adalah
enabled
) - Dilarang untuk sumber keselamatan statis dan khusus masalah
profile
- Apakah sumber keamanan ini berinteraksi dengan profil terkelola pengguna
- Jenis enum yang direpresentasikan sebagai string, harus berupa salah satu dari berikut ini:
primary_profile_only
(hanya berinteraksi dengan induk profil)all_profiles
(juga dapat berinteraksi dengan profil terkelola dan memulai profil pribadi di Android 15)
- Pada
all_profiles
, beberapa entri UI akan dibuat (satu untuk induk profil, dan satu untuk setiap profil terkelola); sumber keamanan dapat menyediakan data yang berbeda untuk setiap profil - Wajib untuk semua sumber keamanan
searchTerms
- Daftar istilah penelusuran yang dipetakan ke entri Pusat Keamanan saat menggunakan penelusuran di aplikasi Setelan
- ID resource yang ditampilkan sebagai nama resource yang sepenuhnya memenuhi syarat, misalnya,
@package:string/my_search_terms
- Opsional untuk sumber keamanan dinamis dan statis (defaultnya adalah tidak ada istilah penelusuran)
- Dilarang untuk sumber keamanan khusus masalah
title
- Judul default entri UI, yang digunakan saat tidak ada data yang diberikan secara dinamis oleh sumber
- ID resource yang direpresentasikan sebagai nama resource yang sepenuhnya memenuhi syarat, misalnya,
@package:string/my_title
- Wajib untuk sumber keamanan dinamis dan statis (kecuali
initialDisplayState="hidden"
tanpasearchTerms
) - Dilarang untuk sumber keamanan khusus masalah
titleForWork
- Judul default entri UI untuk profil terkelola yang digunakan saat data tidak disediakan secara dinamis oleh sumber
- ID resource yang direpresentasikan sebagai nama resource yang sepenuhnya memenuhi syarat, misalnya,
@package:string/my_title_for_work
- Wajib untuk sumber keamanan dinamis dan statis yang telah menentukan
profile="all_profiles"
(kecualiinitialDisplayState="hidden"
tanpasearchTerms
) - Dilarang untuk sumber keselamatan khusus masalah atau sumber dengan
profile="primary_profile_only"
summary
- Ringkasan default entri UI (ini adalah deskripsi teks yang lebih panjang yang ditampilkan di bawah judul), digunakan saat data tidak diberikan secara dinamis oleh sumber
- ID resource yang ditampilkan sebagai nama resource yang sepenuhnya memenuhi syarat, misalnya,
@package:string/my_summary
- Opsional untuk sumber keselamatan statis (defaultnya adalah tidak ada ringkasan)
- Diperlukan untuk sumber keamanan dinamis (kecuali jika
initialDisplayState
adalahhidden
) - Dilarang untuk sumber keselamatan khusus masalah
intentAction
- Tindakan yang akan dipicu saat entri UI diklik
- Jenis string, misalnya,
com.google.android.settings.security.SECURITY_ADVANCED_SETTINGS
, atau ID resource yang diwakili sebagai nama resource yang sepenuhnya memenuhi syarat, misalnya,@package:string/my_intent_action
- Jika tindakan intent ini tidak diselesaikan untuk
packageName
yang diberikan (jika ada), entri UI akan berperilaku dengan cara yang sama seperti memilikiinitialDisplayState="disabled"
- Diperlukan untuk sumber keamanan statis dan sumber keamanan
dynamic
yang memilikiinitialDisplayState="enabled"
- Dilarang untuk sumber keselamatan khusus masalah
maxSeverityLevel
- Tingkat keparahan maksimum yang dapat diberikan sumber Pusat Keamanan ini
- Bilangan bulat yang direpresentasikan sebagai string, misalnya,
300
- Opsional untuk sumber keamanan dinamis dan khusus masalah (defaultnya adalah tidak maksimum)
- Dilarang untuk sumber keselamatan statis
loggingAllowed
- Apakah Pusat Keamanan dapat mencatat interaksi atau data yang terkait dengan sumber ini
- Boolean yang direpresentasikan sebagai string, misalnya
false
- Opsional untuk sumber keamanan dinamis dan khusus masalah (defaultnya adalah
true
) - Dilarang untuk sumber keselamatan statis
refreshOnPageOpenAllowed
- Apakah sinyal harus dikirim ke sumber keamanan untuk memuat ulang datanya saat layar Pusat Keamanan dibuka
- Boolean direpresentasikan sebagai string, misalnya
true
- Opsional untuk sumber keamanan dinamis dan khusus masalah (default-nya adalah
false
) - Dilarang untuk sumber keselamatan statis
notificationsAllowed
(Mulai Android 14)- Apakah sumber keamanan dapat secara opsional memberikan notifikasi saat melaporkan masalah
- Boolean yang direpresentasikan sebagai string, misalnya,
true
- Opsional untuk sumber keamanan dinamis dan khusus masalah (default-nya adalah
false
) - Dilarang untuk sumber keselamatan statis
deduplicationGroup
(Memulai Android 14)- Potensi ID unik yang dapat digunakan untuk menghapus duplikat masalah yang berasal dari berbagai sumber. Sumber dalam grup penghapusan duplikat yang sama dapat mengirimkan masalah dengan ID penghapusan duplikat opsional. Masalah dengan ID penghapusan duplikat yang sama hanya akan ditampilkan sekali di UI, meskipun beberapa sumber mengirimkannya.
- Jenis string
- Opsional untuk sumber keamanan dinamis dan khusus masalah (default-nya adalah tanpa penghapusan duplikat)
- Dilarang untuk sumber keamanan statis
packageCertificateHashes
(Memulai Android 14)- Daftar hash sertifikat yang dipisahkan koma untuk
packageName
yang diberikan. Jika disetel, pemeriksaan sertifikat akan dilakukan terhadappackageCertificateHashes
yang diberikan untukpackageName
yang diberikan saat berinteraksi dengan sumber keamanan, untuk tujuan keamanan. - Jenis string
- Opsional untuk sumber keamanan dinamis dan khusus masalah (defaultnya tidak ada pemeriksaan sertifikat)
- Dilarang untuk sumber keselamatan statis
- Daftar hash sertifikat yang dipisahkan koma untuk
titleForPrivateProfile
(Memulai Android 15)- Judul default entri UI untuk profil pribadi yang digunakan saat data tidak disediakan secara dinamis oleh sumber
- ID resource yang ditampilkan sebagai nama resource yang sepenuhnya memenuhi syarat, misalnya,
@package:string/my_title_for_private_profile
- Wajib untuk sumber keamanan dinamis dan statis yang telah menentukan
profile="all_profiles"
(kecuali jikainitialDisplayState="hidden"
tanpasearchTerms
) - Dilarang untuk sumber keamanan khusus masalah, atau sumber dengan
profile="primary_profile_only"
Menyesuaikan grup sumber Pusat Keamanan
Sumber Pusat Keamanan harus berada dalam grup sumber Pusat Keamanan. Setiap grup sumber ditampilkan di UI dalam urutan grup Sumber yang tercantum dalam file. Setiap sumber ditampilkan dalam grup sesuai urutan Sumber yang tercantum dalam file. Jika grup berisi satu sumber keamanan, grup akan ditampilkan sebagai satu entri, bukan grup.
Konfigurasi grup sumber Pusat Keamanan
Gunakan variabel berikut untuk menyesuaikan grup sumber Pusat Keamanan:
id
- ID unik untuk grup sumber keamanan; harus unik di seluruh file
- Jenis string
- Wajib
title
- Judul grup di UI
- ID resource yang direpresentasikan sebagai nama resource yang sepenuhnya memenuhi syarat, misalnya,
@package:string/my_title
- Wajib jika ada setidaknya satu sumber keamanan dinamis atau statis dalam
grup (yaitu grup bukan dari
type="hidden"
)
summary
- Deskripsi singkat grup di UI, ditampilkan di bawah judul. Ditampilkan dalam kondisi tertentu, biasanya saat data tidak diberikan; jika tidak, ringkasan dihitung berdasarkan data yang disediakan oleh sumber dalam grup.
- ID resource yang ditampilkan sebagai nama resource yang sepenuhnya memenuhi syarat, misalnya,
@package:string/my_summary
- Opsional (defaultnya adalah tidak ada ringkasan)
statelessIconType
- Jenis ikon yang ditampilkan untuk grup jika tidak ada status yang diberikan oleh sumber keamanan, misalnya, entri statis
- Jenis enum yang direpresentasikan sebagai string yang harus berupa
none
atauprivacy
(jenis ikon privasi) - Opsional (default-nya adalah
none
)
type
(Memulai Android 14)- Jenis eksplisit untuk menentukan cara grup ini berinteraksi dengan Pusat Keamanan
- Jenis enum yang direpresentasikan sebagai string, harus berupa salah satu dari berikut:
stateful
(menampilkan dan berkontribusi pada status Pusat Keamanan secara keseluruhan)stateless
(menampilkan dan tidak berkontribusi pada status Pusat Keamanan secara keseluruhan)hidden
(tidak ditampilkan, semua sumber harus berisi masalah saja)
- Opsional, disimpulkan secara default dengan menggunakan sumber keamanan yang terdapat dalam
grup serta
summary
danstatelessIconType
. Jikatype
ditentukan, beberapa invarian tambahan akan diterapkan untuk memastikan bahwa invarian tersebut cocok dengan sumber yang ditemukan dalam grup (misalnya, grup tidak bolehhidden
jika berisi entri yang terlihat pengguna)
Jenis grup sumber Pusat Keamanan
Grup sumber Pusat Keamanan diklasifikasikan sebagai stateful, stateless, atau tersembunyi, berdasarkan status kolom tertentu.
Grup stateful
Grup yang memiliki judul dan ringkasan, atau stateLessIconType="privacy"
dianggap
stateful, berkontribusi pada status Pusat Keamanan secara keseluruhan:
<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>
Di Android 13, grup tersebut akan ditampilkan sebagai entri yang dapat diciutkan di UI. Di Android 14, status ini akan ditampilkan sebagai entri dengan statusnya sendiri yang mengalihkan ke subhalaman.
Grup stateless
Grup yang memiliki judul tetapi tidak memiliki ringkasan, dan stateLessIconType="none"
dianggap stateless serta tidak berkontribusi pada status Pusat Keamanan secara keseluruhan:
<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>
Grup tersebut akan ditampilkan sebagai daftar entri yang kaku di UI.
Grup tersembunyi
Grup tersembunyi hanya berisi sumber keamanan khusus masalah dan tidak memiliki judul. Grup tersembunyi tidak ditampilkan di UI:
<safety-sources-group
id="HiddenGroup">
<issue-only-safety-source
id="AndroidAccessibility"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
refreshOnPageOpenAllowed="true"/>
</safety-sources-group>
Data dinamis untuk entri statis
Anda dapat menampilkan sumber Pusat Keamanan dinamis sebagai entri statis, yang memungkinkan mendorong entri pengalihan bergantung pada beberapa kondisi, dan memungkinkan penyesuaian kontennya saat runtime. Tentukan sumber dinamis dalam grup stateless, misalnya, bergantung pada entri info kebijakan kerja Anda.
Contoh ini menunjukkan sumber keamanan dinamis yang tidak memberikan sinyal keselamatan, karena berada dalam grup 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>
Dalam contoh ini, sumber hanya dapat mendorong kartu peringatan hijau dan memberikan status yang tidak ditentukan. Agar dapat menyediakan data lain, sumber harus berada dalam grup stateful.
Menyesuaikan string dan kolom overlay
Untuk perangkat GMS yang tidak dikonfigurasi untuk menerima update Mainline, Anda dapat menempatkan enam resource string untuk memenuhi semua kebutuhan penyesuaian, bukan menempatkan seluruh file konfigurasi. Resource string yang merupakan overlay tercantum dalam tabel.
Sumber daya string | Deskripsi |
---|---|
google_lock_screen_sources_summary |
Tumpang-tindih nilai ini untuk menentukan ringkasan statis yang ditampilkan untuk
grup AndroidLockScreenSources saat semua sumber dalam
grup berada dalam status baik (informasi atau tingkat keparahan
yang tidak ditentukan). Secara default, Pusat Keamanan menampilkan judul semua sumber
dalam grup yang disambungkan sebagai ringkasan untuk grup tersebut. |
google_biometrics_title |
Tumpang-tindih nilai ini untuk menentukan judul statis untuk sumber biometrik
yang dimiliki oleh paket com.android.settings yang digunakan saat tidak ada
data dinamis yang diberikan oleh sumber. Tumpang-tindih ini saat juga
tumpang-tindih judul yang disediakan secara dinamis oleh sumber dalam
paket com.android.settings . Nilai ini diabaikan secara default
karena status tampilan awal sumber adalah
hidden . |
google_biometrics_summary |
Tempatkan nilai ini untuk menentukan ringkasan statis bagi sumber biometrik yang dimiliki oleh paket com.android.settings yang digunakan saat tidak ada data dinamis yang disediakan oleh sumber. Ini diabaikan secara default karena status tampilan awal untuk sumber adalah hidden . |
google_biometrics_search_terms |
Tumpang-tindih nilai ini untuk menentukan daftar istilah penelusuran untuk sumber biometrika
yang dimiliki oleh paket com.android.settings . |
google_biometrics_initial_display_state |
Tempatkan nilai ini guna menampilkan entri UI untuk sumber biometrik yang dimiliki
oleh paket com.android.settings saat tidak ada data dinamis
yang disediakan oleh sumber. Nilai defaultnya adalah
hidden . |
google_security_updates_intent |
Tumpang-tindih nilai ini untuk mengubah intent yang diperlukan guna membuka aktivitas
yang memungkinkan pengguna memeriksa dan menginstal update keamanan. Tindakan intent
ini harus dikaitkan dengan aktivitas yang diekspor. Nilai
defaultnya adalah
android.settings.SYSTEM_UPDATE_SETTINGS . |
Tidak ada string lain dalam paket com.google.android.safetycenter.resources
yang
dapat ditempatkan.
Untuk perangkat AOSP, semua resource dalam paket com.android.safetycenter.resources
dapat ditempatkan tanpa batasan konten.
Untuk perangkat GMS yang tidak dikonfigurasi untuk menerima update Mainline, buat
paket com.google.android.safetycenter.resources
yang menggantikan atau menempatkan
com.android.safetycenter.resources
yang menentukan semua string yang diharapkan oleh
pengujian GTS.
String ini adalah:
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
Persyaratan Penyesuaian
Persyaratan format file
File konfigurasi harus berupa file XML dan mengikuti format yang dijelaskan dalam
Memperbarui file konfigurasi. File harus berada di
folder raw
. Model ini harus memenuhi invarian yang dijelaskan dalam Menyesuaikan sumber
Safety Center dan
Menyesuaikan grup sumber
Safety Center. Jika file konfigurasi tidak disusun dengan baik sesuai dengan persyaratan di atas, fitur akan dinonaktifkan sepenuhnya. Mengurai file ini juga didukung oleh pengujian CTS dan GTS
yang dapat memberikan konteks tambahan jika file tidak terbentuk dengan baik (di
bagian atas
log perangkat
logcat).
Perangkat layanan Google
Pada perangkat GMS, beberapa batasan diberlakukan pada file ini. Hal ini didukung oleh pengujian GTS.
Perangkat AOSP
Di perangkat AOSP, file konfigurasi harus diformat dengan baik dan lulus pengujian CTS untuk Pusat Keamanan. Pengujian memverifikasi bahwa file disusun dengan baik. Perangkat GMS juga harus lulus pengujian ini.