На этой странице описаны настройки безопасности и конфиденциальности в Android, а также способы доступа к настройкам (включая структуру, интеграцию и настройку) через Центр безопасности .
Начиная с Android 13, Центр безопасности объединяет элементы безопасности и конфиденциальности на одной странице под названием «Безопасность и конфиденциальность» . Центр безопасности также доступен с плитки быстрых настроек .
Центр безопасности предоставляет записи перенаправления, чтобы пользователи могли получить доступ к определенным настройкам безопасности и конфиденциальности. Центр безопасности также выявляет проблемы, которые пользователи могут устранить на своих устройствах или учетных записях, путем объединения динамических данных, полученных из нескольких источников. Эти данные предоставляют пользователям общее состояние безопасности с конкретными рекомендациями.
Рис. 1. Экран Центра безопасности.
Требования и рекомендации по интеграции
- Android 13 и Mainline M-2022-11 или более поздняя версия
- Файл конфигурации платформы Android для включения Центра безопасности:
- Накладываемое поле
config_enableSafetyCenter
файлаframeworks/base/core/res/res/values/config.xml
имеет значениеtrue
(по умолчанию).
- Накладываемое поле
Требования к серверу (только Android 13):
- Для флага
DeviceConfig
safety_center_is_enabled
установлено значениеtrue
(по умолчаниюtrue
начиная с Android 14).
- Для флага
Рекомендации
- OEM-производители GMS, которые не внедряют Центр безопасности, могут отказаться, установив для наложенного поля
config_enableSafetyCenter
файлаconfig.xml
значениеfalse
(по умолчанию установлено значениеtrue
). Дополнительную информацию см. в разделе Включение и отключение Центра безопасности . - Чтобы избежать ошибок при интеграции экрана блокировки в Android 13, см. раздел О PendingIntent и обходном пути PendingIntent . Нет необходимости делать это в Android 14 или Android 13 QPR, поскольку проблема устранена.
Интеграция с Центром безопасности
- Включите Центр безопасности на вашем устройстве.
- (Необязательно) Измените файл конфигурации Центра безопасности, чтобы изменить способ предоставления данных. См . Обновление файла конфигурации . Изменения в файле конфигурации должны соответствовать требованиям настройки и должны быть протестированы с помощью теста GTS , который накладывает строгие ограничения на изменения.
- (Необязательно) Измените приложение «Настройки», чтобы добавить или изменить запись «Безопасность и конфиденциальность» .
- Добавьте или измените поддержку источников безопасности , чтобы обеспечить работу Центра безопасности с такими сигналами, как экран блокировки или биометрические данные (если они поддерживаются). Для правильной реализации этого могут потребоваться некоторые изменения в приложении «Настройки» . Например, изменив имя пакета настроек в файле конфигурации на подходящее и используя исходные API Центра безопасности в приложении «Настройки».
- (Необязательно) Настройте пользовательский интерфейс Центра безопасности , наложив темы, отступы и другие функции.
- Запустите и пройдите соответствующие тесты GTS и CTS .
- В шаге 13 убедитесь, что вы отправили отпечатки устройств для внесения в белый список на стороне сервера. В 14 этого делать не нужно.
Источники Центра безопасности
Источник Центра безопасности предоставляет данные в Центр безопасности. Источник обычно принадлежит отдельному приложению на устройстве. В настоящее время безопасными источниками разрешены только системные приложения. Сторонние приложения не являются источниками безопасности.
Вот несколько примеров источников Центра безопасности:
- Экран блокировки
- Биометрия
- Обновления безопасности
- Найти мое устройство
- Google Play Защита
- Проверка безопасности аккаунта Google
- Сигналы конфиденциальности
Источник Центра безопасности может предоставлять следующие типы данных:
- Запись в пользовательском интерфейсе Центра безопасности, позволяющая перенаправить пользователя на другой экран. Эта запись имеет статус, показывающий, находится ли пользователь в опасности, а также дополнительные метаданные, связанные со статусом, например заголовок и краткое описание.
- Карточки с предупреждениями (также называемые проблемами ), которые можно устранить непосредственно из Центра безопасности или путем перенаправления пользователя на другой экран. С каждой проблемой также связаны дополнительные метаданные, такие как заголовок, краткое описание, метки кнопок и действия.
- Возможные ошибки, возникшие при попытке предоставить данные в Центр безопасности.
- Причина, по которой источник отправляет данные в Центр безопасности.
Конфигурационный файл
Источники Центра безопасности перечислены в файле конфигурации, который действует как список разрешений. Этот файл также предоставляет данные по умолчанию для каждой записи пользовательского интерфейса. В файле конфигурации можно указать статические записи перенаправления , которые не могут повлиять на состояние или проблемы Центра безопасности (также называемые источниками статической безопасности ). Дополнительную информацию см. в разделе Обновление файла конфигурации .
Магистральный модуль
Центр безопасности в первую очередь является частью модуля PermissionController Mainline , поэтому Google может обновить эту функцию как часть обновления Mainline для OEM-устройств GMS, поддерживающих Mainline.
OEM-устройства, не принадлежащие GMS, и OEM-устройства GMS, которые не поддерживают Mainline, могут использовать Центр безопасности, если эта функция включена в их образ системы; однако им следует использовать код M-2022-11 или выше. Требования см. в разделе «Включение или отключение Центра безопасности» .
API-интерфейсы Центра безопасности
API-интерфейсы Центра безопасности написаны на Java, а примеры кода на этой странице написаны на Java. Однако, поскольку Kotlin совместим с Java, API-интерфейсы Центра безопасности можно использовать в Kotlin. Некоторые части системного приложения PermissionController, взаимодействующие с Центром безопасности, написаны на Kotlin.
Вы можете использовать API для взаимодействия с Центром безопасности. Эти API в основном доступны через SafetyCenterManager
, который является системным API. Дополнительные сведения см. в разделе Взаимодействие с Центром безопасности .
Действия по намерению и дополнительные возможности
Начиная с Android 13, в классе Intent
определяется публичное действие намерения (доступное для сторонних приложений) для перенаправления в Центр безопасности.
Дополнительные действия и дополнения определяются в SafetyCenterManager
и доступны только системным приложениям, например, для перенаправления на конкретную проблему.
API с поддержкой Центра безопасности
SafetyCenterManager
предоставляет API, который сообщает, включен ли Центр безопасности на устройстве. API подтверждает, соответствует ли устройство требованиям Центра безопасности, например, установлена ли на устройстве правильная версия модуля Mainline. Эта проверка используется для определения того, отображается ли Центр безопасности в настройках и других местах. Это также можно использовать для определения того, следует ли предоставлять данные в Центр безопасности. Информацию о том, как включить или выключить Центр безопасности, см. в разделе Включение или отключение Центра безопасности .
Исходные API Центра безопасности
Источники Центра безопасности используют API-интерфейсы Центра безопасности для предоставления динамических данных в Центр безопасности. Исходные API Центра безопасности выполняют следующие функции:
- Установите данные для данного источника Центра безопасности.
- Получите последний набор данных для данного источника Центра безопасности.
- Сообщите об ошибке для данного источника Центра безопасности.
Источники Центра безопасности могут согласиться на получение сигнала для отправки данных в Центр безопасности в особых случаях, например, когда открывается страница Центра безопасности, чтобы гарантировать актуальность предоставленных данных.
API-интерфейсы внутреннего центра безопасности
Некоторые API-интерфейсы Центра безопасности являются внутренними и используются только модулем PermissionController
Mainline, за исключением оболочки и тестов. По техническим причинам эти API не скрыты и доступны SafetyCenterManager
.
API-интерфейсы Центра безопасности выполняют следующие функции:
- Отправьте сигнал источникам Центра безопасности, чтобы они обновили свои данные.
- Получите представление файла конфигурации.
- Получите объединенные данные из нескольких источников Центра безопасности.
- Подписаться и отписаться на изменения данных.
- Откажитесь от предупреждающих карточек.
- Выполните действие карточки с предупреждением.
Тестовые API
SafetyCenterManager
включает API-интерфейсы тестирования Центра безопасности, которые используются для тестирования.
API-интерфейсы тестирования Центра безопасности могут:
- Удалите все данные, хранящиеся в Центре безопасности.
- Переопределить файл конфигурации и очистить переопределение.
Команды оболочки
Некоторые команды оболочки предназначены для взаимодействия с Центром безопасности через оболочку Android Debug Bridge ( adb shell
). Используйте adb shell cmd safety_center help
чтобы просмотреть список команд и узнать, что они могут делать.
Пользовательский интерфейс Центра безопасности
Пользовательский интерфейс Центра безопасности определяется в системном приложении PermissionController
внутри модуля PermissionController
. Пользовательский интерфейс состоит из действия и нескольких фрагментов, использующих API, описанные в разделе API внутреннего центра безопасности . Плитка быстрых настроек, отображаемая в Центре безопасности, использует те же компоненты пользовательского интерфейса с некоторыми небольшими изменениями в расположении элементов.
Внешний вид этой страницы можно изменить с помощью наложений. Дополнительную информацию см. в разделе Настройка пользовательского интерфейса Центра безопасности .