次の Android 互換性定義ドキュメント(CDD)は作成中です。最新版の CDD については、Android 互換性定義ドキュメントをご覧ください。
2. デバイスタイプ
2.2. ハンドヘルドの要件
2.2.1. ハードウェア
モバイルデータ接続をサポートする場合、ハンドヘルド デバイス実装は:
- [7.4.1/H-1-1]
android.hardware.telephony.data機能を宣言しなければなりません。
2.2.3. ソフトウェア
アプリのライブ情報通知は、アプリがプロモーションの特性をすべて満たしている場合にプロモートできます。このドキュメントでは、このような通知のことをプロモートされたライブ更新通知と呼びます。ハンドヘルド デバイス実装は、次の要件に従ってプロモートされたライブ情報通知を目立つように表示しなければなりません。ハンドヘルド デバイス実装は:
[3.8.3.1/H-0-1] プロモートされたライブ情報通知をロック画面の目立つ場所に表示しなければなりません。
[3.8.3.1/H-0-12] プロモートされたライブ情報通知が他の通知とともに表示される場合は、通知スタックのヘッドアップ通知の一番上、または色付き通知(
setColorizedがtrueの場合)の上に表示しなければなりません。- 複数のアプリがプロモートされたライブ情報通知の対象となる場合、通知シェードとロック画面内に表示するプロモートされたライブ情報通知の順序を決定しても構いません。
[3.8.3.1/H-0-2] プロモートされたライブ情報通知を開いた状態で表示しなければなりません。
[3.8.3.1/H-0-3] 上記の開かれた通知を閉じるためのユーザー アフォーダンスを提供してはなりません。
[3.8.3.1/H-0-4] プロモートされたライブ情報通知では、
StyleSpanまたはUnderlineSpanで提供されるとおり、テキスト コンテンツの基本スタイル(太字、斜体、下線)を表示しなければなりません。[3.8.3.1/H-0-5] プロモートされたライブ情報通知には、標準アクション オブジェクトのみを(
Notification.Actionを介して)表示し、入力ボックス、返信ボタン、コンテキスト アクションなどの標準以外のアクション オブジェクトを(addRemoteInput()、setContextual()を介して)非表示にしなければなりません。通知に標準以外のアクション オブジェクトが含まれている場合も同様です。[3.8.3.1/H-0-6]
Notification.getSmallIcon()を含まなければならないプロモートされたライブ情報通知については(SDK ドキュメントではステータス チップと呼ばれる)コンパクトな表現を表示しなければなりません。[3.8.3.1/H-0-7] 他のフィールドはコンパクトな表現では省略可能ですが、コンパクトな表現を開くことが可能な場合は必ず、
Notification.getShortCriticalText()が存在する場合はそれを、Notification.getShortCriticalTextが存在しない場合はNotification.whenを表示しなければなりません。[3.8.3.1/H-0-8] プロモートされたライブ表示通知が複数ある場合は、そのうちの少なくとも 1 つをステータスバーにコンパクトな表現として表示しなければなりません。
[3.8.3.1/H-0-9] ユーザーがコンパクトな表現をタップしたときに、関連付けられた通知を表示するか(推奨)、関連付けられたアプリを(
Notification.contentIntentを介して)開かなければなりません。[3.8.3.1/H-0-13] 関連付けられた通知には、通知シェードで利用可能なものと同じコンテンツをすべて表示しなければなりません。
[3.8.3.1/H-0-10] 個々のアプリの通知のプロモートされた表示を無効または有効にするユーザー アフォーダンスを提供しなければなりません。
[3.8.3.1/H-0-11] すべてのライブ情報通知を正しく表示しなければなりません。これには、プロモーション特性を満たしていない、または一部しか満たしていない、プロモート対象外のライブ情報通知も含まれます(ただし、これらに限定されません)。このようなプロモート対象外の通知は、プロモート対象外の状態で表示しなければなりません。
2.4. スマートウォッチの要件
2.4.1. ハードウェア
モバイルデータ接続をサポートする場合、スマートウォッチ デバイス実装は:
- [7.4.1/W-1-1]
android.hardware.telephony.data機能を宣言しなければなりません。
3. ソフトウェア
3.9. デバイス管理
3.9.2. 管理対象プロファイルのサポート
android.software.device_admin とandroid.software.managed_users を宣言する場合、デバイス実装は:
- [C-1-1]
android.app.admin.DevicePolicyManagerAPI を介して管理対象プロファイルをサポートしなければなりません。 - [C-1-2] 管理対象プロファイルを 1 つだけ作成できるようにしなければなりません。
- [C-1-3] アイコンバッジ(AOSP のアップストリームの仕事用バッジに類似)を使用して、管理対象アプリとウィジェットや、[履歴と通知] のような他のバッジ付き UI 要素を表さなければなりません。
- [C-1-4] 通知アイコン(AOSP のアップストリームの仕事用バッジに類似)を表示して、ユーザーが管理対象プロファイル アプリ内にいることを示さなければなりません。
- [C-1-5] デバイスが復帰(
ACTION_USER_PRESENT)し、フォアグラウンド アプリが管理対象プロファイル内にある場合に、ユーザーが管理対象プロファイル内にいることを示すトーストを表示しなければなりません。 - [C-1-6] 管理対象プロファイルが存在する場合、Device Policy Controller によって有効にされていれば、インテントを選択するユーザーにビジュアル アフォーダンスを表示して、ユーザーが管理対象プロファイルからプライマリ ユーザーに(またはその逆に)インテントを転送できるようにしなければなりません。
- [C-1-7] 管理対象プロファイルが存在する場合、プライマリ ユーザーと管理対象プロファイルの両方について、次のユーザー アフォーダンスを公開しなければなりません。
- プライマリ ユーザーと管理対象プロファイルの、バッテリー、位置情報、モバイルデータ、ストレージ使用量に関する個別の計算。
- プライマリ ユーザーまたは管理対象プロファイルにインストールされている VPN アプリの独立した管理。
- プライマリ ユーザーまたは管理対象プロファイルにインストールされているアプリの独立した管理。
- プライマリ ユーザーまたは管理対象プロファイル内のアカウントの独立した管理。
- [C-1-8] Device Policy Controller が許可している場合、プリインストールの電話アプリ、連絡先アプリ、メッセージ アプリが、プライマリ プロファイルからの情報とともに管理対象プロファイル(存在する場合)からの発信者情報を検索できるようにしなければなりません。
- [C-1-9] 管理対象プロファイルがプライマリ ユーザーに加えて別のユーザーとしてカウントされない場合でも、複数のユーザーが有効になっている(セクション 9.5 参照)デバイスに適用されるセキュリティ要件をすべて満たしていることを確認しなければなりません。
- [C-1-10] スクリーンショットが、フォーカスされた
topActivityウィンドウ(すべてのアクティビティの中でユーザーが最後に操作したウィンドウ)でキャプチャされ、仕事用プロファイル アプリに属する場合、スクリーンショット データが仕事用プロファイル ストレージに保存されることを確認しなければなりません。 - [C-1-11] 個人用プロファイルのデータが仕事用プロファイルに保存されないようにするため、スクリーンショットを仕事用プロファイルに保存する場合は、仕事用プロファイル アプリのウィンドウを除き、他の画面コンテンツ(システムバー、通知、個人用プロファイルのコンテンツ)をキャプチャしてはなりません。
android.software.device_adminandroid.software.managed_users と android.software.secure_lock_screen を宣言する場合、デバイス実装は:
[C-2-1] 次の要件を満たす個別のロック画面を指定する機能をサポートして、管理対象プロファイルのみで実行されているアプリへのアクセス権を付与しなければなりません。
- デバイス実装は、
DevicePolicyManager.ACTION_SET_NEW_PASSWORDインテントを使用し、管理対象プロファイルの個別のロック画面認証情報を設定するインターフェースを表示しなければなりません。 - Android オープンソース プロジェクトのサイトに記載されているとおり、管理対象プロファイルのロック画面認証情報は、親プロファイルと同じ認証情報ストレージと管理メカニズムを使用しなければなりません。
- DPC パスワード ポリシーは、
getParentProfileInstanceによって返されるDevicePolicyManagerインスタンスで呼び出されない限り、管理対象プロファイルのロック画面認証情報にのみ適用しなければなりません。
- デバイス実装は、
管理対象プロファイルの連絡先が、プリインストールの通話履歴、通話 UI、通話中通知、不在着信通知、連絡先、メッセージ アプリに表示される場合、管理対象プロファイル アプリを示すために使用されるものと同じバッジを付けるべきです。
3.9.3. 管理対象ユーザーのサポート
android.software.device_admin とandroid.software.managed_users を宣言する場合、デバイス実装は:
- [C-1-1]
isLogoutEnabledがtrueを返す場合、複数ユーザー セッションでは、現在のユーザーからログアウトしてプライマリ ユーザーに切り戻すユーザー アフォーダンスを提供しなければなりません。ユーザー アフォーダンスには、デバイスをロック解除せずにロック画面からアクセスできなければなりません。
7. ハードウェアの互換性
7.4. データ接続
7.4.1. 電話
モバイルデータ接続をサポートする場合、デバイス実装は:
- [C-SR-11]
android.hardware.telephony.data機能を宣言することが強く推奨されます。
android.hardware.telephony.data をレポートする場合、デバイス実装は:
[C-12-1] PDP コンテキスト、PDN 接続、DN 接続など、少なくとも 2 つの同時モバイル データ ネットワーク接続をサポートしなければなりません。
9. セキュリティ モデルの互換性
9.18. デベロッパーの確認 [新規セクション]
デバイス実装は:
- 既知のデベロッパーがアプリの提供元であることを証明するためにデベロッパー確認サービスのサポートを含めても構いません。
config.xml で config_developerVerificationServiceProviderPackageName を定義してデベロッパー確認ツールを設定する場合、デバイス実装は:
- [9.18/C-1-1] 新規インストールと既存のアプリのアップデートの両方を含む、アプリ パッケージのインストールごとに、設定済みの
android.content.pm.verify.developer.DeveloperVerifierServiceを呼び出さなければなりません。
デバイス実装は:
config.xmlでconfig_developerVerificationPolicyDelegatePackageNameを定義して、アクティブなポリシーを設定するためのデリゲートも設定しても構いません。
デベロッパー確認ツールが設定されている場合、デバイス実装は:
- [9.18/C-2-1]
android.content.pm.PackageInstallerで定義されているとおり、デベロッパー確認ツールまたはその設定済みのデリゲートのみがインストール ポリシーを設定できるようにしなければなりません。
パッケージ インストール セッションの一部として確認ツールが呼び出された場合、デバイス実装は:
[9.18/C-3-1] 次の場合はアプリ パッケージをインストールできないようにしなければなりません。
- インストールでデベロッパーの身元確認に失敗した場合。
- インストール セッションのデベロッパーの確認ポリシーが
DEVELOPER_VERIFICATION_POLICY_NONE以外の値に設定されている場合。 - 9.18/C-3-2 または 9.18/C-3-3 のいずれかが適用される場合を除きます。
[9.18/C-3-2] 次の場合はポリシーや確認ステータスに関係なく、アプリ パッケージをインストールできないようにしてはなりません。
- パッケージが Android Debug Bridge(ADB)を介してインストールされる場合。
- パッケージが、設定済みのデベロッパー確認ツールまたはそのインストーラである場合。
[9.18/C-3-3] 次の条件をすべて満たす場合は、アプリ パッケージをインストールできないようにしてはなりません。
- ポリシーが
DEVELOPER_VERIFICATION_POLICY_BLOCK_FAIL_WARNまたはDEVELOPER_VERIFICATION_POLICY_BLOCK_FAIL_OPENに設定されている場合。 - 確認が未完了と報告されている場合。
- インストーラが、
DEVELOPER_VERIFICATION_USER_RESPONSE_INSTALL_ANYWAYをレポートして、ユーザーがインストールの続行を明示的にリクエストしたことを示している場合。
- ポリシーが
管理対象デバイスのデバイス オーナーまたは管理対象プロファイルのプロファイル オーナーによって開始されたインストールについては、ポリシーや確認ステータスに関係なく、アプリ パッケージのインストールを許可しても構いませんが、9.18/C-3-1 で説明されているように、インストールできないようにすることが強く推奨されます。