Il
software aggiornabile
Compatibility Definition Document (CDD) di Android
richiede che i dispositivi implementino la
classe SystemUpdatePolicy
. SystemUpdatePolicy
consente all'app proprietario del dispositivo (DO), se
presente, di controllare l'installazione degli aggiornamenti di sistema.
Notificare ai proprietari dei dispositivi
Il client over-the-air (OTA) deve notificare alle app proprietario del dispositivo gli
aggiornamenti OTA in arrivo utilizzando un'API di sistema. Il client OTA deve includere anche un timestamp che registri il momento in cui l'aggiornamento OTA è diventato disponibile per la prima volta. I client OTA possono chiamare
DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime, boolean isSecurityPatch)
per inviare notifiche alle app del proprietario del dispositivo. Se il client OTA non sa se un aggiornamento
è una patch di sicurezza, può ricorrere all'utilizzo di
DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime)
.
Se al momento non è disponibile un aggiornamento, il client OTA lo segnala
impostando l'argomento updateReceivedTime
su -1
.
Ti consigliamo di inviare notifiche ogni volta che il client OTA esegue il polling del server OTA o quando un OTA viene inviato al client. Puoi anche inviare
notifiche più frequentemente.
Norme sugli aggiornamenti di sistema
Android 9 migliora la possibilità per i proprietari dei dispositivi di controllare gli aggiornamenti consentendo loro di posticipare gli aggiornamenti OTA fino a 90 giorni. Concentrandosi sulle soluzioni per dispositivi dedicati (in precedenza chiamati COSU), questa funzionalità consente ai proprietari di sospendere la versione del sistema operativo in esecuzione sui dispositivi durante periodi critici, come le festività.
Per rispettare la CDD, il client OTA deve implementare norme comportamentali. L'amministratore delegato può impostare i seguenti criteri, che devono essere rispettati dai sottosistemi di aggiornamento del sistema del dispositivo:
I proprietari dei dispositivi possono anche
impostare
periodi di blocco (in Android 9 o versioni successive) che bloccano la versione del sistema operativo
durante periodi critici, come festività o altri periodi di maggiore attività. Il sistema
non installa gli aggiornamenti OTA durante un periodo di blocco. Ti consigliamo di utilizzare
SystemUpdatePolicy.InstallationOption
(vedi
la sezione seguente), ma il client OTA può anche chiamare
SystemUpdatePolicy.getFreezePeriods()
per verificare se il dispositivo si trova in un periodo di blocco.