Na tej stronie opisaliśmy ustawienia zabezpieczeń i prywatności w Androidzie oraz sposób uzyskiwania do nich dostępu (w tym strukturę, integrację i dostosowywanie) w Centrum bezpieczeństwa.
Od Androida 13 Centrum bezpieczeństwa łączy elementy dotyczące bezpieczeństwa i prywatności na jednej stronie o nazwie Bezpieczeństwo i prywatność. Centrum bezpieczeństwa jest też dostępne w Szybkich ustawieniach.
Centrum bezpieczeństwa zawiera wpisy przekierowania, dzięki którym użytkownicy mogą uzyskać dostęp do określonych ustawień zabezpieczeń i prywatności. Centrum bezpieczeństwa wykrywa też problemy, które użytkownicy mogą rozwiązać na swoich urządzeniach lub kontach, łącząc dynamiczne dane otrzymane z wielu źródeł. Te dane zapewniają użytkownikom ogólny stan bezpieczeństwa z konkretnymi rekomendacjami.
Rysunek 1. Ekran Centrum bezpieczeństwa
Wymagania i wytyczne dotyczące integracji
- Android 13 i Mainline M-2022-11 lub nowsze
- Plik konfiguracji platformy Android do włączenia Centrum bezpieczeństwa:
- Pole
config_enableSafetyCenter
plikuframeworks/base/core/res/res/values/config.xml
jest ustawione natrue
(domyślnie).
- Pole
Wymagania po stronie serwera (tylko Android 13):
- Flaga
DeviceConfig
safety_center_is_enabled
ma wartośćtrue
(domyślna wartośćtrue
od Androida 14).
- Flaga
Wskazówki
- Producenci OEM GMS, którzy nie implementują Centrum bezpieczeństwa, mogą zrezygnować z tej funkcji, ustawiając w pliku
config.xml
poleconfig_enableSafetyCenter
nafalse
(domyślnie jest totrue
). Więcej informacji znajdziesz w artykule Włączanie i wyłączanie Centrum bezpieczeństwa. - Aby uniknąć błędu w integracji z ekranem blokady w Androidzie 13, zapoznaj się z artykułem Informacje o PendingIntent i Rozwiązanie problemu z PendingIntent. Nie musisz tego robić w przypadku Androida 14 ani Androida 13 QPR, ponieważ problem został już rozwiązany.
Integracja z Centrum bezpieczeństwa
- Włącz Centrum bezpieczeństwa na urządzeniu.
- (Opcjonalnie) Zmodyfikuj plik konfiguracji Centrum bezpieczeństwa, aby zmienić sposób dostarczania danych. Zobacz Aktualizowanie pliku konfiguracyjnego. Zmiany w pliku konfiguracji muszą spełniać wymagania dotyczące personalizacji i być testowane za pomocą testu GTS, który nakłada rygorystyczne ograniczenia na modyfikacje.
- (Opcjonalnie) Zmień ustawienia, aby dodać lub zmienić wpis Bezpieczeństwo i prywatność.
- Dodaj lub zmień obsługę źródeł bezpieczeństwa, aby Centrum bezpieczeństwa działało z użyciem sygnałów takich jak ekran blokady lub biometria (jeśli jest obsługiwana). Może to wymagać wprowadzenia pewnych zmian w aplikacji Ustawienia, aby prawidłowo wdrożyć tę funkcję. Na przykład zmiana nazwy pakietu Ustawienia w pliku konfiguracji na odpowiednią i używanie interfejsów API źródła Centrum bezpieczeństwa w aplikacji Ustawienia.
- (Opcjonalnie) Dostosuj interfejs Centrum bezpieczeństwa, nakładając motywy, wypełnienie i inne funkcje.
- Przeprowadzić i przejść powiązane testy GTS i CTS.
- W punkcie 13 sprawdź, czy przesłane zostały odciski palców urządzeń, które mają być dozwolone po stronie serwera. Nie musisz tego robić w przypadku wersji 14.
Źródła w Centrum bezpieczeństwa
Źródło Centrum bezpieczeństwa przekazuje dane do Centrum bezpieczeństwa. Źródło jest zwykle własnością osobnej aplikacji na urządzeniu. Obecnie dozwolone są tylko aplikacje systemowe. Aplikacje innych firm nie są bezpiecznymi źródłami.
Oto przykładowe źródła danych Centrum bezpieczeństwa:
- Ekran blokady
- Biometria
- Aktualizacje zabezpieczeń
- Znajdź moje urządzenie
- Google Play Protect
- Sprawdzanie zabezpieczeń konta Google
- Sygnały dotyczące prywatności
Źródło Safety Center może udostępniać te typy danych:
- Wpis w interfejsie Centrum bezpieczeństwa, który przekierowuje użytkownika na inny ekran. Ten wpis ma stan wskazujący, czy użytkownik jest zagrożony, oraz dodatkowe metadane powiązane z tym stanem, na przykład tytuł i podsumowanie.
- karty ostrzegawcze (nazywane też problemami), które można rozwiązać bezpośrednio w Centrum bezpieczeństwa lub przekierowując użytkownika na inny ekran; Każdy problem ma też dodatkowe metadane, takie jak tytuł, podsumowanie, etykiety przycisków i działania.
- Potencjalne błędy, które wystąpiły podczas próby przekazania danych do Centrum bezpieczeństwa.
- Powód, dla którego źródło wysyła dane do Centrum bezpieczeństwa.
Plik konfiguracji
Źródła Centrum bezpieczeństwa są wymienione w pliku konfiguracyjnym, który działa jako lista dozwolonych. Plik ten zawiera też domyślne dane dla każdego elementu interfejsu. Plik konfiguracji może zawierać statyczne wpisy przekierowania, które nie mogą wpływać na stan Centrum bezpieczeństwa ani na problemy (nazywane też statycznymi źródłami informacji o bezpieczeństwie). Więcej informacji znajdziesz w artykule Aktualizowanie pliku konfiguracji.
Moduł Mainline
Centrum bezpieczeństwa jest głównie częścią modułu PermissionController Mainline, więc Google może aktualizować tę funkcję w ramach aktualizacji Mainline na urządzeniach GMS OEM, które obsługują Mainline.
Urządzenia OEM bez GMS i urządzenia OEM z GMS, które nie obsługują Mainline, mogą korzystać z Centrum bezpieczeństwa, jeśli ta funkcja jest zawarta w ich obrazie systemu. Powinny jednak używać kodu z poziomu M-2022-11 lub nowszego. Wymagania znajdziesz w artykule Włączanie i wyłączanie Centrum bezpieczeństwa.
Interfejsy API Safety Center
Interfejsy API Centrum bezpieczeństwa są napisane w Javie, a przykładowy kod na tej stronie jest napisany w Javie. Kotlin jest jednak interoperacyjny z językiem Java, więc interfejsy API SafetyCenter można używać w Kotlinie. Niektóre części aplikacji systemowej PermissionController, które współpracują z Centrum bezpieczeństwa, są napisane w języku Kotlin.
Interfejsów API możesz używać do interakcji z Centrum bezpieczeństwa. Te interfejsy API są dostępne głównie za pomocą interfejsu SafetyCenterManager
, który jest interfejsem System API. Więcej informacji znajdziesz w artykule Interakcja z Centrum bezpieczeństwa.
Działania związane z zamiarem i dodatkowe funkcje
Od Androida 13 publiczna akcja intencji (dostępna dla aplikacji innych firm) jest definiowana w klasie Intent
, aby przekierowywać do Centrum bezpieczeństwa.
Dodatkowe działania i dodatki są definiowane w SafetyCenterManager
i są dostępne tylko dla aplikacji systemowych, aby umożliwić na przykład przekierowanie do konkretnego problemu.
Interfejs API włączony w Safety Center
SafetyCenterManager
udostępnia interfejs API, który zwraca informację o tym, czy Centrum Bezpieczeństwa jest włączone na urządzeniu. Interfejs API sprawdza, czy urządzenie spełnia wymagania Centrum Bezpieczeństwa, na przykład czy jest na nim zainstalowana odpowiednia wersja modułu Mainline. Ta weryfikacja służy do określenia, czy Centrum bezpieczeństwa ma być wyświetlane w Ustawieniach i w innych miejscach. Można go też użyć do określenia, czy dane powinny być udostępniane Centrum bezpieczeństwa. Informacje o włączaniu i wyłączaniu Centrum bezpieczeństwa znajdziesz w artykule Włączanie i wyłączanie Centrum bezpieczeństwa.
Interfejsy API źródła Safety Center
Źródła danych Safety Center używają interfejsów API źródeł Safety Center do dostarczania danych dynamicznych do Safety Center. Interfejsy API źródeł Safety Center pełnią te funkcje:
- Ustaw dane dla danego źródła Centrum bezpieczeństwa.
- Pobierz najnowszy zbiór danych z danego źródła w Centrum Bezpieczeństwa.
- zgłaszanie błędu w przypadku danego źródła danych w Centrum bezpieczeństwa;
Źródła danych w Centrum bezpieczeństwa mogą otrzymać sygnał o wysyłaniu danych do Centrum bezpieczeństwa w szczególnych przypadkach, np. gdy otwierana jest strona Centrum bezpieczeństwa, aby zapewnić aktualność danych.
Interfejsy API Safety Center do użytku wewnętrznego
Niektóre interfejsy API Centrum bezpieczeństwa są wewnętrzne i używane tylko przez moduł PermissionController
Mainline (z wyjątkiem powłoki i testów). Z przyczyn technicznych te interfejsy API nie są ukryte i są dostępne za pomocą SafetyCenterManager
.
Interfejsy API Centrum bezpieczeństwa pełnią te funkcje:
- Wysyłanie sygnału do źródeł danych Centrum bezpieczeństwa w celu odświeżenia ich danych.
- Uzyskaj reprezentację pliku konfiguracji.
- Uzyskiwanie scalonych danych z kilku źródeł Centrum bezpieczeństwa.
- subskrybować i anulować subskrypcję zmian danych.
- Zamknij karty ostrzegawcze.
- Wykonaj działanie związane z kartą ostrzegawczą.
Testowanie interfejsów API
SafetyCenterManager
zawiera interfejsy API testowe Centrum bezpieczeństwa, które są używane do testowania.
Interfejsy API testowania Safety Center:
- Wyczyść wszystkie dane przechowywane przez Centrum bezpieczeństwa.
- Zastąpić plik konfiguracji i wyczyścić zastąpienie.
Polecenia powłoki
Do interakcji z Safety Center za pomocą interfejsu wiersza Debug Bridge (adb shell
) w Androidzie dostępne są niektóre polecenia powłoki. Użyj polecenia adb shell
, aby wyświetlić listę poleceń i ich opis.adb shell cmd safety_center help
Interfejs Centrum bezpieczeństwa
Interfejs Centrum bezpieczeństwa jest zdefiniowany w aplikacji systemowej PermissionController
w module PermissionController
. Interfejs użytkownika składa się z działalności i kilku fragmentów, które korzystają z interfejsów API opisanych w artykule Interfejsy API wewnętrznego Safety Center. Płytka Szybkie ustawienia wyświetlana przez Centrum bezpieczeństwa korzysta z tych samych komponentów interfejsu, ale z niewielkimi zmianami w ich rozmieszczeniu.
Wygląd i wygodę tej strony można zmienić za pomocą nakładek. Więcej informacji znajdziesz w artykule Dostosowywanie interfejsu Centrum bezpieczeństwa.