Обзор Центра безопасности

На этой странице описываются параметры безопасности и конфиденциальности в Android, а также способы доступа к настройкам (включая структуру, интеграцию и настройку) через Центр безопасности .

Начиная с Android 13, Safety Center объединяет элементы безопасности и конфиденциальности на одной странице под названием Безопасность и конфиденциальность . Safety Center также доступен из плитки быстрых настроек .

Safety Center предоставляет записи перенаправления, чтобы пользователи могли получить доступ к определенным настройкам безопасности и конфиденциальности. Safety Center также определяет проблемы, которые пользователи могут исправить на своих устройствах или в учетных записях, объединяя динамические данные, полученные из нескольких источников. Эти данные предоставляют пользователям общий статус безопасности с конкретными рекомендациями.

Security & privacy settingsSecurity & privacy settings

Рисунок 1. Экран Центра безопасности.

Требования и рекомендации по интеграции

  • Android 13 и Mainline M-2022-11 или выше
  • Файл конфигурации платформы Android для включения Центра безопасности:
  • Требования к серверу (только 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, так как проблема была исправлена.

Интеграция с Центром безопасности

  1. Включите Центр безопасности на вашем устройстве.
  2. (Необязательно) Измените файл конфигурации Safety Center, чтобы изменить способ предоставления данных. См. Обновление файла конфигурации . Изменения в файле конфигурации должны соответствовать требованиям настройки и должны быть протестированы с помощью теста GTS , который накладывает строгие ограничения на модификации.
  3. (Необязательно) Измените приложение «Настройки» , чтобы добавить или изменить запись «Безопасность и конфиденциальность» .
  4. Добавьте или измените поддержку источников безопасности , чтобы гарантировать, что Safety Center работает с такими сигналами, как экран блокировки или биометрия (если поддерживается). Для корректной реализации этого могут потребоваться некоторые изменения в приложении «Настройки» . Например, измените имя пакета настроек в файле конфигурации на соответствующее и используйте API-интерфейсы источника Safety Center в приложении «Настройки».
  5. (Необязательно) Настройте пользовательский интерфейс Центра безопасности , наложив темы, отступы и другие функции.
  6. Запустите и пройдите соответствующие тесты GTS и CTS .
  7. В 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, использует те же компоненты пользовательского интерфейса с некоторыми незначительными изменениями в том, как все разложено.

Внешний вид и поведение этой страницы можно изменить с помощью наложений. Для получения дополнительной информации см. Настройка пользовательского интерфейса центра безопасности .