Androida
Oprogramowanie aktualizowane w dokumencie Compatibility Definition Document (CDD)
wymaga od urządzeń zaimplementowania
SystemUpdatePolicy
zajęcia. SystemUpdatePolicy
zezwala właścicielowi urządzenia na korzystanie z aplikacji, jeśli
kontrolować instalację aktualizacji systemu.
Powiadom właścicieli urządzenia
Klient bezprzewodowy musi powiadamiać aplikacje właściciela urządzenia o przychodzących aktualizacjach bezprzewodowych za pomocą interfejsu API systemu. Klient OTA musi też
zawierają sygnaturę czasową, w której została rozpoczęta aktualizacja OTA,
i dostępności informacji. Klienci OTA mogą wywoływać funkcję DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime, boolean isSecurityPatch)
, aby powiadamiać aplikacje właściciela urządzenia. Jeśli klient OTA nie wie, że dostępna jest aktualizacja
to poprawka zabezpieczeń, klient OTA może użyć
DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime)
Jeśli aktualizacja nie jest obecnie dostępna, klient OTA zgłasza to do
ustawiając argument updateReceivedTime
na -1
.
Zalecamy wysyłanie powiadomień za każdym razem, gdy klient OTA sprawdza serwer OTA lub gdy OTA jest przesyłane do klienta. Możesz też wysyłać powiadomienia częściej.
Zasady aktualizacji systemu
Android 9 zwiększa możliwości kontrolowania aktualizacji przez właścicieli urządzeń, umożliwiając im opóźnianie aktualizacji OTA nawet o 90 dni. Koncentracja na urządzeniu specjalnym (wcześniej COSU) rozwiązań, dzięki tej funkcji właściciele mogą wstrzymać wersję systemu operacyjnego urządzenia w kluczowych okresach, np. podczas świąt.
Aby spełnić wymagania dotyczące ochrony danych klientów, klient OTA musi wdrożyć zasady dotyczące zachowań. Przedstawiciel urzędu certyfikacji może ustawiać następujące zasady, których respektowane przez podsystemy aktualizacji systemu urządzeń:
Właściciele urządzeń mogą też ustawić okresy blokady (w Androidzie 9 lub nowszym), które blokują wersję systemu operacyjnego w okresach krytycznych, takich jak święta czy inne okresy intensywnego użytkowania. System
nie instaluje aktualizacji OTA w okresie blokady. Zalecamy użycie
SystemUpdatePolicy.InstallationOption
(zobacz
poniżej), jednak klient OTA może też wywołać
SystemUpdatePolicy.getFreezePeriods()
aby sprawdzić, czy urządzenie jest w trybie blokady.
Wdrażanie opcji instalacji
Android 9 wprowadza interfejs @SystemApiSystemUpdatePolicy.InstallationOption
, który jest przeznaczony dla klientów aktualizacji systemu.
SystemUpdatePolicy.InstallationOption
działa jako klasa opakowująca dla zasad i okresów zamrożenia. Opcja instalacji informuje,
klienci, co mają zrobić z przychodzącymi aktualizacjami systemu i jak długo ta czynność
jest ważna dla, z uwzględnieniem bieżących zasad aktualizacji systemu lub dowolnego zablokowania
możliwy do ustawienia okres. Opcja instalacji może być jedną z tych opcji:
-
TYPE_INSTALL_AUTOMATIC
– nowe aktualizacje systemu są instalowane natychmiast i bez udziału użytkownika, gdy tylko staną się dostępne. Urządzenie automatycznie się uruchomi. -
TYPE_POSTPONE
– nadchodzące aktualizacje systemu mogą być opóźniane maksymalnie o 30 dni. Użytkownicy nie mogą zainstalować aktualizacji ręcznie. Producenci urządzeń mogą blokować zabezpieczenia poprawek. -
TYPE_PAUSE
– aktualizacje systemu mogą być opóźniane na czas nieokreślony do odwołania. Użytkownicy nie mogą ręcznie instalować aktualizacji.TYPE_PAUSE
opóźnia wszystkie aktualizacje, w tym łaty zabezpieczeń.
Klienty aktualizacji systemu mogą wysyłać zapytania
SystemUpdatePolicy.InstallationOption
korzysta z:
SystemUpdatePolicy.getInstallationOptionAt(long when)
,
gdzie when oznacza czas instalacji opcji instalacji
dla zapytań w liczbie milisekund od początku epoki. Korzystanie z
SystemUpdatePolicy.getInstallationOptionAt(long when)
klienty aktualizacji systemu mogą działać zgodnie ze zwróconą opcją do momentu
efektywne upływy czasu. Gdy zwrócona opcja wygaśnie, klient może wysłać kolejne zapytanie, używając nowej sygnatury czasowej, aby uzyskać najnowszą opcję.
Klient aktualizacji systemu musi nasłuchiwać
DevicePolicyManager.ACTION_SYSTEM_UPDATE_POLICY_CHANGED
w przypadku zaktualizowania całej zasady.
Zweryfikuj zasadę TYPE_PAUSE
Możesz ręcznie sprawdzić, czy opcja TYPE_PAUSE
działa w systemie OTA.
Zasada TYPE_PAUSE obowiązuje
Aby sprawdzić, czy zasada TYPE_PAUSE
działa:
-
Ustaw zasadę automatyczną i wskaż
TYPE_PAUSE
. - Podczas wstrzymania zegara systemowego prześlij aktualizację OTA.
- Sprawdź, czy urządzenie nie przyjmuje aktualizacji OTA i czy użytkownik nie może ręcznie zainstalować aktualizacji.
- Jeśli urządzenie jest urządzeniem A/B, uruchom je ponownie i sprawdź, czy ponowne uruchomienie nie spowodowało automatycznej instalacji aktualizacji.
Zasada TYPE_PAUSE straciła ważność
Aby sprawdzić, czy zasady, które wygasły, działają:
-
Ustaw automatyczną zasadę i określ
TYPE_PAUSE
. - Gdy zegar systemowy jest w okresie wstrzymania, wypchnij aktualizację OTA.
- Poczekaj na zakończenie okresu zawieszenia.
- Sprawdź, czy urządzenie automatycznie uruchamia się ponownie i czy aktualizacja OTA jest wykonane po ponownym uruchomieniu.