GTS 測試 (GtsSafetyCenterTestCases
)
GTS 測試會對設定檔強制套用限制。請參閱「更新設定檔」。如果裝置不支援 Safety Center,則可免除這些測試。
限制如下:
- 至少應有七個 Safety Center 來源群組,且應保持在未修改或預設狀態。部分特定欄位 (例如來源標題、初始顯示狀態和摘要) 有時會使用可疊加字串做為支援,因此可以修改。
針對
GoogleAppSecuritySources
:- 請勿移除或修改
GooglePlayProtect
安全來源。 - 你可以移除或變更「
GoogleAppProtectionService
」安全來源。 檔案存在:- 必須支援記錄功能。
- 如果套件名稱未變更,則必須要有
Android 中的
initialDisplayState="hidden"
13;在 Android 14 中, 則必須是issue-only-safety-source
,且deduplicationGroup
必須維持不變。 - 如果套件名稱已變更,則必須保留
"android.app.role.SYSTEM_APP_PROTECTION_SERVICE"
角色;此外,在 Android 14 中,套件名稱不得有deduplicationGroup
。
- 請勿移除或修改
針對
AndroidLockScreenSources
:- 您必須使用群組的
summary
例項,並可修改該例項,包括使用字串重疊。 - 至少必須有一個安全來源。
- 第一個安全來源旨在確保鎖定來源
螢幕設定,且以致於無法進一步推送問題或項目
嚴重超過
SEVERITY_LEVEL_RECOMMENDATION
(maxSeverityLevel="300"
或 最多黃色的項目或警告資訊卡)。在 Android 14 中,deduplicationGroup
必須保持不變。 - 其他安全來源主要是與生物特徵辨識相關的來源
解鎖機制,應包含
maxSeverityLevel="0"
。
- 您必須使用群組的
在 Android 13 中,請勿修改
GoogleAccountSources
。GoogleDeviceFinderSources
或AndroidAdvancedSources
。在 Android 14 中,您可以移除這些群組中引入的新來源 (例如備份與還原),也可以將新的靜態來源附加至AndroidAdvancedSources
群組。針對
GoogleUpdateSources
:- 您可以將
intentAction
變更為GoogleSecurityUpdates
,並使用字串疊加層修改。 - 請勿修改
GooglePlaySystemUpdate
。
- 您可以將
針對
AndroidPrivacySources
:- 您可以新增、移除或修改某些來源,
issue-only
。 - 必須保留
packageName="com.google.android.permissioncontroller"
。 - 請勿修改
AndroidPrivacySources
來源的其餘部分。
- 您可以新增、移除或修改某些來源,
對於其他安全性來源群組 (如有):
- 群組不應包含
summary
或statelessIconType
,否則會產生SAFETY_SOURCES_GROUP_TYPE_RIGID
群組 (在 Android 14 中為SAFETY_SOURCES_GROUP_TYPE_STATELESS
)。 - 每個群組中的每個來源都應為靜態來源,或具有
maxSeverityLevel="0"
,例如允許傳送灰色或綠色項目,但沒有任何問題。
- 群組不應包含
CTS 測試 (CtsSafetyCenterTestCases
)
自 Android 13 起,CTS 測試適用於所有原始設備製造商 (OEM)
且該程式支援 PermissionController
。
設定檔測試 (XmlConfigTest
)
這些測試可確保:
- 剖析的 XML 設定檔與 Safety Center 剖析及公開的設定相符,且剖析成功。
- 如果 XML 檔案中含有意圖動作
android.settings.PRIVACY_ADVANCED_SETTINGS
,則必須解析此動作。 - 如果意圖動作
android.settings.PRIVACY_CONTROLS
出現在 XML 檔案,就必須解析此動作。
UI 測試 (SafetyCenterActivityTest
)
這些測試可確保:
android.intent.action.SAFETY_CENTER
意圖動作會在安全中心啟用時解析並開啟「安全性與隱私權」設定畫面,在安全中心停用時則會開啟「設定」畫面。
API 測試 (SafetyCenterManagerTest
)
SafetyCenterManagerTest API 測試的目標,是確保 Safety Center API 能正常運作。
這些測試可確保以下事項:
SafetyCenterManager.isSafetyCenterEnabled
是由相關聯的DeviceConfig
標記。- 停用後,Safety Center API 將不會執行任何操作。
- 必須具備相關權限,才能使用安全中心 API 的保留時間。
- 資料只能依循基本原則向安全中心提供 此外還會從 0 自動調整資源配置 您完全不必調整資源調度設定
- 當資料提供給 Safety Center 時,系統會據此顯示相關資訊。
- 這些 API 符合「使用 Safety Center 來源 API」一文所述的規格,例如重新整理或重新掃描行為、設定或清除資料,以及回報錯誤。
- 公開給使用者介面的內部 API 運作正常,例如 Safety Center 會適當合併資料,且資料可進行重新整理。
不支援的安全中心測試 (SafetyCenterUnsupportedTest
)
這項測試可確保在裝置不支援 Safety Center 且架構 XML 設定檔中已停用支援功能時,Safety Center 會停用。
如果裝置支援安全中心,系統就不會執行這項測試。如果裝置不支援安全中心,則只會執行這項測試和資料類別測試。
這項測試可確保以下事項:
android.intent.action.SAFETY_CENTER
意圖動作會開啟「Settings」 。SafetyCenterManager.isSafetyCenterEnabled
會傳回false
。- 呼叫時,大多數安全中心 API 都不會回應。
資料類別測試 (SafetySourceDataTest
、SafetySourceIssueTest
等)
資料類別測試 (例如 SafetySourceDataTest
和 SafetySourceIssueTest
) 可確保 Safety Center 公開的資料類別正常運作,例如 SafetySourceData
、SafetySourceIssue
和其他相關的內部類別。
MTS 測試 (SafetyCenterFunctionalTestCases
和其他)
這些測試會涵蓋主要更新項目,並適用於所有支援
PermissionController
。這些測試強制執行的規定,可能會隨著主系列更新而變更。
API 測試 (SafetyCenterManagerTest
)
這些測試類似於 CTS 測試 SafetyCenterManagerTest
,但
可能隨主要更新而改變的測試要求,例如:
- 檢查內部 API 傳回的資料實際內容 已暴露於 UI 中的
UI 測試 (SafetyCenterActivityTest
、SafetyCenterStatusCardTest
、SafetyCenterQsActivityTest
等)
這些測試可確保:
- 使用特定參數將內容重新導向至安全中心的功能運作正常,例如重新導向至特定問題。請參閱重新導向至安全網站 中心。
- UI 會顯示正確的基礎安全狀態。
- 使用者介面可讓您前往不同的畫面。
- 當
SafetySourceIssue
指定時,使用者介面可直接從安全中心畫面解決安全性問題。 - UI 會在一個項目中收合多個警示資訊卡,並允許展開 重複顯示這些資訊卡
- 每當有相關項目的安全中心頁面開啟時,系統就會重新整理資料 安全中心來源
- 只有在特定情況下,系統才會顯示重新掃描按鈕。
- 輕觸「重新掃描」按鈕可擷取新資料。
我們為安全中心也會進行類似的測試。請參閱「為應用程式建立自訂「快速設定」方塊」
其他極端情況,例如錯誤狀態和待處理狀態。
多位使用者測試 (SafetyCenterMultiUsersTest
)
這些測試旨在確保 API 在收到資料時能正常運作 可與多位使用者或設定檔搭配使用。請參閱「為多位使用者和設定檔提供資料」。這個 設定方法是使用內部程式庫來設定 使用 Bedstead 區隔裝置上的使用者和個人資料。
這項測試可確保以下事項:
- 使用者擁有的資料會與相關聯的受管理資料合併 或個人資料 (如果有的話)。
- 只有標示為
profile="all_profiles"
的來源,才能在使用者的受管理設定檔中提供資料。 - 系統會針對與使用者相關聯的每個受管理設定檔建立新的項目。
- 單一使用者的資料不會洩露給其他不相關的使用者。