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