Android Compatibility Definition Document(CDD)Updatable Software は、デバイスに SystemUpdatePolicy
クラスを実装する必要があります。SystemUpdatePolicy
を使用すると、デバイス所有者(DO)アプリ(存在する場合)でシステム アップデートのインストールを制御できます。
デバイス所有者に通知する
無線(OTA)クライアントは、システム API を使用して、受信した OTA アップデートについてデバイス所有者アプリに通知する必要があります。また、OTA クライアントには、OTA アップデートが最初に利用可能になったときのタイムスタンプの記録も含める必要があります。OTA クライアントは DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime, boolean isSecurityPatch)
を呼び出してデバイス所有者のアプリに通知できます。アップデートがセキュリティ パッチかどうかわからない場合、OTA クライアントは代わりに DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime)
を使用します。
アップデートが利用できない場合、OTA クライアントは updateReceivedTime
引数を -1
に設定することでて、それを報告します。
OTA クライアントが OTA サーバーをポーリングするときや、OTA がクライアントにプッシュされたときに、必ず通知を送信することをおすすめします。より高い頻度で通知を送信することもできます。
システム アップデート ポリシー
Android 9 では、デバイス所有者がアップデートを制御できる機能が強化され、OTA アップデートを最大 90 日間延期できます。特に、専用デバイス(以前の名称: COSU)では、重要度の高い期間(休日など)に、デバイスで実行されている OS バージョンを凍結できます。
CDD に準拠するには、OTA クライアントに動作ポリシーを実装する必要があります。デバイス所有者は次のポリシーを設定できます。デバイス システム アップデートのサブシステムはこのポリシーに準拠する必要があります。
デバイス所有者は、休日やその他の忙しい時間などの重要な期間に OS バージョンを凍結する凍結期間を設定できます(Android 9 以降)。システムは、凍結期間中に OTA アップデートをインストールしません。SystemUpdatePolicy.InstallationOption
を使用することおすすめしますが(次のセクションを参照)、OTA クライアントは SystemUpdatePolicy.getFreezePeriods()
を呼び出して、デバイスが凍結期間中かどうか確認することもできます。