互換性フレームワークの変更(Android 14)

図 1. 開発者向けオプションの [アプリの互換性の変更] 画面に、切り替え可能な変更が一覧表示されます。

このページでは、Android 14(API レベル 34)の互換性フレームワークに含まれている切り替え可能な変更について説明します。Android 14 をサポートし、ターゲットとするアプリのテストとデバッグを行う際は、このリストを開発者向けオプションおよび adb コマンドと組み合わせて使用してください。

以下に、互換性フレームワーク ツールでできることをいくつか示します。

  • アプリの targetSdkVersion を実際には変更せずに、ターゲット固有の変更をテストする。切り替えを使用して、特定のターゲット固有の動作変更を強制的に有効にし、既存のアプリに対する影響を評価できます。
  • 特定の変更にテストを集中させる。切り替えを使用することで、テスト対象以外のターゲット固有の変更をすべて無効にできます。これにより、一度にすべてのターゲット固有の変更に対処する必要がなくなります。
  • adb を介して切り替えを管理する。adb コマンドを使用すると、切り替え可能な変更を自動テスト環境で有効または無効にできます。
  • 標準の変更 ID を使用して迅速にデバッグする。切り替え可能な変更にはそれぞれ一意の ID と名前が付けられており、ログ出力から問題の根本原因を速やかにデバッグできます。

各ユースケースでのツールの使用方法について詳しくは、互換性フレームワーク ツールをご覧ください。

互換性フレームワークに含まれる動作変更

このセクションでは、Android 14 の互換性フレームワークに含まれる切り替え可能な変更について説明します。

変更リストはデフォルトの状態でフィルタできます。

Android 14 の互換性フレームワークの切り替え可能な変更

ACCESS_SHARED_IDENTITY

変更 ID: 259743961
デフォルトの状態: すべてのアプリで有効。

アプリが ID の共有にオプトインしている場合、値 trueActivityOptions.setShareIdentityEnabled(boolean) が呼び出された ActivityOptions のインスタンスでこのアクティビティを起動することで、起動元のアプリの ID へのアクセス権を付与します。または、起動したアクティビティの UID が起動アプリの UID と同じである場合。この変更が有効で、これらの要件のいずれかが満たされている場合、アクティビティは、それぞれ Activity.getLaunchedFromUid()Activity.getLaunchedFromPackage() を使用して、起動アプリの UID とパッケージ名にアクセスできます。

ANR_PRE_UDC_APIS_ON_SLOW_RESPONSES

変更 ID: 258236856
デフォルトの状態: Android 14(API レベル 34)以上をターゲットとするアプリで有効。

有効にすると、Android 13(API レベル 33)以前の API と機能に対するアプリの応答が遅い場合に、「アプリケーション応答なし」(ANR)メッセージをトリガーします。

AUTHORITY_ACCESS_CHECK_CHANGE_ID

変更 ID: 207133734
デフォルトの状態: Android 14(API レベル 34)以上をターゲットとするアプリで有効。

Android 14(API レベル 34)以降をターゲットとするアプリの場合、同期に関連するすべての API について、呼び出し元 UID の権限アクセスを確認できるようになりました。

CAMERA_MIC_INDICATORS_NOT_PRESENT

変更 ID: 162547999
デフォルトの状態: すべてのアプリで無効。

このデバイスがカメラとマイクのインジケーターをサポートしていることを示します。変更 ID が存在しない場合、CompatChanges#isChangeEnabled メソッドは true を返すため、値は false になります。

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_SENDER

変更 ID: 244637991
デフォルトの状態: Android 14(API レベル 34)以上をターゲットとするアプリで有効。

アプリが PendingIntent#send() などのメソッドを使用して PendingIntent を送信する際、独自のバックグラウンド アクティビティの起動権限を付与してペンディング インテントを開始する場合は、オプトインが必要になりました。

この変更について詳しくは、Android 14 の動作変更ページの バックグラウンドからのアクティビティの起動に関する追加の制限に関するセクションをご覧ください。

DETACH_THROWS_ISE_ONLY

変更 ID: 236825255
デフォルトの状態: Android 14(API レベル 34)以上をターゲットとするアプリで有効。

#detachImage がスローする正しい例外をゲートで制御するフラグ。

#detachImage は、エラーが発生した場合に IllegalStateException をスローすると文書化されています。Image のデタッチ中にサーフェスが放棄された場合、これに対するネイティブ ヘルパー メソッドが RuntimeException をスローします。

以前は文書化されていなかったこの例外の動作は、Android 13(API レベル 33)まで継続しています。

Android 13(API レベル 33)より後では、ネイティブ ヘルパー メソッドはドキュメントに従って IllegalStateExceptions のみをスローします。

この変更が有効になっている場合、#detachImage は画像のデタッチ中にエラーが発生した際に IllegalStateException のみをスローします。Android 13(API レベル 33)以下をターゲットとするアプリでは、動作は変更されません。

DOWNSCALED

変更 ID: 168419799
デフォルトの状態: すべてのアプリで無効。

この変更は、アプリごとのバッファのダウンスケーリングに関するすべての変更のゲートキーパーです。この変更を有効にすると、次のスケーリング ファクタを適用できます。

この変更がアプリ パッケージに対して有効になっている場合、アプリは有効な最大のスケーリング ファクタに強制的にサイズ変更されます。たとえば、80% と 70%(DOWNSCALE_80DOWNSCALE_70)の両方が有効になっている場合は、80% が使用されます。この変更と DOWNSCALED_INVERSE の両方を有効にすると、DOWNSCALED_INVERSE が優先され、スケーリング ファクタは逆に適用されます。

DOWNSCALED_INVERSE

変更 ID: 273564678
デフォルトの状態: すべてのアプリで無効。

この変更は、アプリごとのバッファの逆ダウンスケーリングのすべての変更のゲートキーパーです。この変更を有効にすると、次のスケーリング ファクタが逆に適用されます(代わりに解像度がアップされます)。

この変更がアプリ パッケージに対して有効になっている場合、アプリは有効な最小のスケーリング ファクタに強制的にサイズ変更されます。たとえば、80% と 70%(DOWNSCALE_80DOWNSCALE_70)の両方が有効になっている場合は、80% が使用されます。これは、80% のスケーリング ファクタを逆に適用すると 125% に等しくなり、70% のスケーリング ファクタを逆適用した場合に適用される 142.86% より小さいためです。この変更と DOWNSCALED の両方を有効にすると、DOWNSCALED_INVERSE が優先され、スケーリング ファクタは逆に適用されます。

DOWNSCALE_30

変更 ID: 189970040
デフォルトの状態: すべてのアプリで無効。

DOWNSCALED も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリでは実際のディスプレイの垂直解像度と水平解像度が 30% のディスプレイで実行されていると認識されます。DOWNSCALED_INVERSE も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリは実際のディスプレイの垂直解像度と水平解像度が 333.33% のディスプレイで実行されていると認識されます。

DOWNSCALE_35

変更 ID: 189969749
デフォルトの状態: すべてのアプリで無効。

DOWNSCALED も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリは実際のディスプレイの垂直解像度と水平解像度が 35% のディスプレイで実行されていると認識されます。DOWNSCALED_INVERSE も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリは実際のディスプレイの垂直解像度と水平解像度が 285.71% のディスプレイで実行されていると認識されます。

DOWNSCALE_40

変更 ID: 189970038
デフォルトの状態: すべてのアプリで無効。

DOWNSCALED も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリでは実際のディスプレイの垂直解像度と水平解像度が 40% のディスプレイで実行されていると認識されます。DOWNSCALED_INVERSE も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリは実際のディスプレイの垂直解像度と水平解像度が 250% のディスプレイで実行されていると認識されます。

DOWNSCALE_45

変更 ID: 189969782
デフォルトの状態: すべてのアプリで無効。

DOWNSCALED も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリは実際のディスプレイの垂直解像度と水平解像度が 45% のディスプレイで実行されていると認識されます。DOWNSCALED_INVERSE も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリは実際のディスプレイの垂直解像度と水平解像度が 222.22% のディスプレイで実行されていると認識されます。

DOWNSCALE_50

変更 ID: 176926741
デフォルトの状態: すべてのアプリで無効。

DOWNSCALED も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリでは実際のディスプレイの垂直解像度と水平解像度が 50% のディスプレイで実行されていると認識されます。DOWNSCALED_INVERSE も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリは実際のディスプレイの垂直解像度と水平解像度が 200% のディスプレイで実行されていると認識されます。

DOWNSCALE_55

変更 ID: 189970036
デフォルトの状態: すべてのアプリで無効。

DOWNSCALED も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリは実際のディスプレイの垂直解像度と水平解像度が 55% のディスプレイで実行されていると認識されます。DOWNSCALED_INVERSE も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリは実際のディスプレイの垂直解像度と水平解像度が 181.82% のディスプレイで実行されていると認識されます。

DOWNSCALE_60

変更 ID: 176926771
デフォルトの状態: すべてのアプリで無効。

DOWNSCALED も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリでは実際のディスプレイの垂直解像度と水平解像度が 60% のディスプレイで実行されていると認識されます。DOWNSCALED_INVERSE も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリは実際のディスプレイの垂直解像度と水平解像度が 166.67% のディスプレイで実行されていると認識されます。

DOWNSCALE_65

変更 ID: 189969744
デフォルトの状態: すべてのアプリで無効。

DOWNSCALED も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリでは実際のディスプレイの垂直解像度と水平解像度が 65% のディスプレイで実行されていると認識されます。DOWNSCALED_INVERSE も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリは実際のディスプレイの垂直解像度と水平解像度が 153.85% のディスプレイで実行されていると認識されます。

DOWNSCALE_70

変更 ID: 176926829
デフォルトの状態: すべてのアプリで無効。

DOWNSCALED も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリでは実際のディスプレイの垂直解像度と水平解像度が 70% のディスプレイで実行されていると認識されます。DOWNSCALED_INVERSE も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリは実際のディスプレイの垂直解像度と水平解像度が 142.86% のディスプレイで実行されていると認識されます。

DOWNSCALE_75

変更 ID: 189969779
デフォルトの状態: すべてのアプリで無効。

DOWNSCALED も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリは実際のディスプレイの垂直解像度と水平解像度が 75% のディスプレイで実行されていると認識されます。DOWNSCALED_INVERSE も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリは実際のディスプレイの垂直解像度と水平解像度が 133.33% のディスプレイで実行されていると認識されます。

DOWNSCALE_80

変更 ID: 176926753
デフォルトの状態: すべてのアプリで無効。

DOWNSCALED も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリでは実際のディスプレイの垂直解像度と水平解像度が 80% のディスプレイで実行されていると認識されます。DOWNSCALED_INVERSE も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリは実際のディスプレイの垂直解像度と水平解像度が 125% のディスプレイで実行されていると認識されます。

DOWNSCALE_85

変更 ID: 189969734
デフォルトの状態: すべてのアプリで無効。

DOWNSCALED も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリでは実際のディスプレイの垂直解像度と水平解像度が 85% のディスプレイで実行されていると認識されます。DOWNSCALED_INVERSE も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリは実際のディスプレイの垂直解像度と水平解像度が 117.65% のディスプレイで実行されていると認識されます。

DOWNSCALE_90

変更 ID: 182811243
デフォルトの状態: すべてのアプリで無効。

DOWNSCALED も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリでは実際のディスプレイの垂直解像度と水平解像度が 90% のディスプレイで実行されていると認識されます。DOWNSCALED_INVERSE も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリは実際のディスプレイの垂直解像度と水平解像度が 111.11% のディスプレイで実行されていると認識されます。

ENABLE_PLATFORM_MDNS_BACKEND

変更 ID: 270306772
デフォルトの状態: Android 14(API レベル 34)以上をターゲットとするアプリで有効。

Android 14 以降をターゲットとするアプリは、バックエンドとしてプラットフォームに統合された mDNS 実装を使用しますが、以前のバージョンをターゲットとするアプリでは、引き続き従来のネットワーク サービス ディスカバリ(NSD)バックエンドを使用します(従来のネイティブ デーモンを NsdManager バックエンドとして使用します)。

ENABLE_SELF_CERTIFIED_CAPABILITIES_DECLARATION

変更 ID: 266524688
デフォルトの状態: Android 14(API レベル 34)以上をターゲットとするアプリで有効。

自己認定機能チェックは、Android 14 以降をターゲットとするアプリで有効になっています。詳しくは、NetworkCapabilities をご覧ください。

ENFORCE_PACKAGE_VISIBILITY_FILTERING

変更 ID: 154726397
デフォルトの状態: Android 14(API レベル 34)以上をターゲットとするアプリで有効。

Android 14(API レベル 34)以降をターゲットとするアプリの場合、AccountManager API にアクセスするには、アプリのマニフェストでパッケージの公開設定の必要性を宣言する必要があります。

ENFORCE_READ_ONLY_JAVA_DCL

変更 ID: 218865702
デフォルトの状態: Android 14(API レベル 34)以上をターゲットとするアプリで有効。

Android 14(API レベル 34)以降をターゲットとするアプリの場合、動的に読み込まれるすべてのファイルを読み取り専用としてマークする必要があります。これにより、動的に読み込まれるファイルが悪意のある攻撃者によって予期せず上書きされるのを防ぐことができます。

この変更について詳しくは、Android 14 の動作変更ページで、 より安全な動的コードの読み込みに関するセクションをご覧ください。

ENFORCE_STRICT_QUERY_BUILDER

変更 ID: 143231523
デフォルトの状態: すべてのアプリで無効。

有効にすると、SQLiteQueryBuilder はすべての CalendarProvider2 クエリの選択に対し、悪意のある引数がないか検証します。

EXACT_LISTENER_ALARMS_DROPPED_ON_CACHED

変更 ID: 265195908
デフォルトの状態: すべてのアプリで有効。

呼び出し元アプリがキャッシュに保存された状態になると、AlarmManager.OnAlarmListener コールバックを想定している正確なアラームは破棄されます。

Android 14 での正確なアラームの変更について詳しくは、 正確なアラームのスケジュールがデフォルトで拒否されるをご覧ください。

FGS_TYPE_CHECK_FOR_INSTANT_APPS

変更 ID: 261055255
デフォルトの状態: Android 14(API レベル 34)以上をターゲットとするアプリで有効。

有効にする場合、Instant Apps では、アプリのマニフェスト ファイルで宣言されているすべてのサービスに対して、適切なフォアグラウンド サービス タイプを指定する必要があります。

この変更について詳しくは、 フォアグラウンド サービス タイプの変更をご覧ください。

FGS_TYPE_NONE_DEPRECATION_CHANGE_ID

変更 ID: 255042465
デフォルトの状態: Android 14(API レベル 34)以上をターゲットとするアプリで有効。

有効にすると、Android 14(API レベル 34)以降をターゲットとするアプリで、非推奨の FOREGROUND_SERVICE_TYPE_NONE タイプを使用してフォアグラウンド サービスを開始すると、ログに警告が出力されます。

この変更について詳しくは、 フォアグラウンド サービス タイプの変更をご覧ください。

FGS_TYPE_NONE_DISABLED_CHANGE_ID

変更 ID: 255038118
デフォルトの状態: Android 14(API レベル 34)以上をターゲットとするアプリで有効。

有効にすると、Android 14(API レベル 34)以降をターゲットとするアプリで、非推奨の FOREGROUND_SERVICE_TYPE_NONE タイプを使用してフォアグラウンド サービスを開始すると、例外が発生します。

この変更について詳しくは、 フォアグラウンド サービス タイプの変更をご覧ください。

FGS_TYPE_PERMISSION_CHANGE_ID

変更 ID: 254662522
デフォルトの状態: Android 14(API レベル 34)以上をターゲットとするアプリで有効。

有効にすると、Android 14(API レベル 34)以降をターゲットとするアプリで、そのフォアグラウンド サービスのタイプに関連付けられた必要な権限なしでフォアグラウンド サービスを開始すると、SecurityException が発生します。

この変更について詳しくは、 フォアグラウンド サービス タイプの変更をご覧ください。

FORCE_DISABLE_HEVC_SUPPORT

変更 ID: 174227820
デフォルトの状態: すべてのアプリで無効。

アプリの HEVC メディア機能のサポートを強制的に無効にします。 アプリは、サポートされているメディア機能をマニフェストで宣言する必要がありますが、このフラグを使用すると、アプリに HEVC のサポートを強制できます。これにより、HEVC でエンコードされたメディアにアクセスするときにコード変換を強制できます。このフラグを設定すると、アプリの OS レベルのデフォルトがオーバーライドされます。デフォルトでは無効になっています。つまり、OS のデフォルトが優先されます。このフラグと FORCE_ENABLE_HEVC_SUPPORT の両方が有効になっている場合、OS は両方のフラグを無視します。

FORCE_ENABLE_HEVC_SUPPORT

変更 ID: 174228127
デフォルトの状態: すべてのアプリで無効。

アプリが HEVC メディア機能をサポートできるようにする(強制的に有効にする)アプリは、サポートされているメディア機能をマニフェストで宣言する必要があります。ただし、このフラグを使用すると、アプリに HEVC のサポートを強制できます。これにより、HEVC でエンコードされたメディアにアクセスする際のコード変換を回避できます。このフラグを設定すると、アプリの OS レベルのデフォルトがオーバーライドされます。これはデフォルトでは無効になっており、OS のデフォルトが優先されます。このフラグと FORCE_DISABLE_HEVC_SUPPORT の両方が有効になっている場合、OS は両方のフラグを無視します。

FORCE_NON_RESIZE_APP

変更 ID: 181146395
デフォルトの状態: すべてのアプリで無効。

適用されるパッケージを強制的にサイズ変更不可にします。

FORCE_RESIZE_APP

変更 ID: 174042936
デフォルトの状態: すべてのアプリで無効。

適用されるパッケージを強制的にサイズ変更可能にします。サイズ変更は全画面ウィンドウ モードでのみ許可されます。アプリを強制的にサイズ変更可能なマルチウィンドウ モードにすることはできません。

GWP_ASAN

変更 ID: 145634846
デフォルトの状態: すべてのアプリで無効。

サンプリングされるネイティブ メモリのバグ検出をアプリで有効にします。

GWP-ASan の使用方法について詳しくは、GWP-ASan ガイドをご覧ください。

IMPLICIT_INTENTS_ONLY_MATCH_EXPORTED_COMPONENTS

変更 ID: 229362273
デフォルトの状態: Android 14(API レベル 34)以上をターゲットとするアプリで有効。

Android 14(API レベル 34)以降をターゲットとするアプリの場合、暗黙的インテントでコンポーネントを呼び出すには、コンポーネントをエクスポートする必要があります。コンポーネントがエクスポートされず、呼び出されない場合、そのコンポーネントはレシーバのリストから削除されます。これは、特にアクティビティとブロードキャストに適用されます。

この変更について詳しくは、Android 14 の動作変更ページで、 暗黙的インテントとペンディング インテントの制限に関するセクションをご覧ください。

変更 ID: 266201607
デフォルトの状態: Android 14(API レベル 34)以上をターゲットとするアプリで有効。

Android 14(API レベル 34)以降をターゲットとするアプリでは、MediaProjection の各キャプチャ セッションの前にユーザーに同意を求める必要があります。

この変更について詳しくは、Android 14 の動作変更ページの、MediaProjection キャプチャ セッションにユーザーの同意を必要とする仕組みに関するセクションをご覧ください。

NATIVE_HEAP_ZERO_INIT

変更 ID: 178038272
デフォルトの状態: すべてのアプリで無効。

ネイティブ ヒープのメモリ割り当ての自動ゼロ初期化を有効にします。

NATIVE_MEMTAG_ASYNC

変更 ID: 145772972
デフォルトの状態: すべてのアプリで無効。

このプロセスで非同期(ASYNC)メモリタグのチェックを有効にします。このフラグは、ARM メモリタグ付け拡張機能(MTE)をサポートするハードウェアにのみ影響します。

NATIVE_MEMTAG_SYNC

変更 ID: 177438394
デフォルトの状態: すべてのアプリで無効。

このプロセスで同期(SYNC)メモリタグのチェックを有効にします。このフラグは、ARM メモリタグ付け拡張機能(MTE)をサポートするハードウェアにのみ影響します。NATIVE_MEMTAG_ASYNC とこのオプションの両方を有効にすると、このオプションが優先され、SYNC モードで MTE が有効になります。

OVERRIDE_ANY_ORIENTATION

変更 ID: 265464455
デフォルトの状態: すべてのアプリで無効。

この変更を有効にすると、アクティビティによってリクエストされた向きに関係なく、以下の向きのオーバーライドを適用できます。

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

変更 ID: 191514214
デフォルトの状態: すべてのアプリで無効。

この変更が有効になっている場合、この変更により、適用されたパッケージで android:resizeableActivity の現在の値と M 以下のターゲット SDK が無視され、アクティビティはサイズ変更不可と見なされます。この場合、カメラの回転と切り抜きの値は、現在のディスプレイの回転を考慮した必要な補正にのみ依存します。

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

変更 ID: 189229956
デフォルトの状態: すべてのアプリで無効。

この変更を有効にすると、適用されたパッケージでカメラの回転と切り抜きのデフォルトの動作がオーバーライドされ、常に CaptureRequest.SCALER_ROTATE_AND_CROP_NONE が返されます。

OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE

変更 ID: 266124927
デフォルトの状態: すべてのアプリで無効。

適用先のアプリの SCREEN_ORIENTATION_REVERSE_LANDSCAPE を有効にします。OVERRIDE_ANY_ORIENTATION も有効化されていない限り、SCREEN_ORIENTATION_REVERSE_LANDSCAPE はアクティビティが横向きを指定している場合にのみ使用されます。この変更を有効にすると、横向きが Surface.ROTATION_90 に対応するデバイスと、Surface.ROTATION_270 に対応するデバイスとの間で、アプリの動作の違いをテストできます。

OVERRIDE_MIN_ASPECT_RATIO

変更 ID: 174042980
デフォルトの状態: すべてのアプリで無効。

この変更により、所定の最小アスペクト比を強制的に適用するすべての変更が管理されます。この変更を有効にすると、以下の最小アスペクト比を適用できます。

この変更がアプリ パッケージに対して有効になっている場合、アプリのマニフェスト値よりも大きい場合を除き、アプリのマニフェストで指定された最小アスペクト比が、有効な最大アスペクト比にオーバーライドされます。

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

変更 ID: 218959984
デフォルトの状態: すべてのアプリで無効。

有効にすると、縦向き全画面の最小アスペクト比の制限がオーバーライドされ、使用可能なすべての画面スペースが使用されます。

OVERRIDE_MIN_ASPECT_RATIO_LARGE

変更 ID: 180326787
デフォルトの状態: すべてのアプリで無効。

OVERRIDE_MIN_ASPECT_RATIO も有効になっている場合、パッケージに対してこの変更を有効にすると、アクティビティの最小アスペクト比が OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE で定義された大きな値に設定されます。

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

変更 ID: 180326845
デフォルトの状態: すべてのアプリで無効。

OVERRIDE_MIN_ASPECT_RATIO も有効になっている場合、パッケージに対してこの変更を有効にすると、アクティビティの最小アスペクト比が OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE で定義された中程度の値に設定されます。

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

変更 ID: 203647190
デフォルトの状態: すべてのアプリで有効。

OVERRIDE_MIN_ASPECT_RATIO も有効になっている場合、この変更により、アクティビティの最小アスペクト比を特定の値(OVERRIDE_MIN_ASPECT_RATIO_LARGEOVERRIDE_MIN_ASPECT_RATIO_MEDIUM など)に強制するその他の変更は、縦向きのアクティビティに限定されます。

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

変更 ID: 236283604
デフォルトの状態: すべてのアプリで無効。

この変更が有効になっている場合、この変更により、デバイス メーカーが設定できる画面の向きの制限を無視するパッケージが、適用されたパッケージから除外されます。

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

変更 ID: 265451093
デフォルトの状態: すべてのアプリで無効。

適用先のアプリの SCREEN_ORIENTATION_NOSENSOR を有効にします。OVERRIDE_ANY_ORIENTATION も有効化されていない限り、SCREEN_ORIENTATION_NOSENSOR はアクティビティが他の固定の向きを指定していない場合にのみ使用されます。

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

変更 ID: 265452344
デフォルトの状態: すべてのアプリで無効。

適用先のアプリの SCREEN_ORIENTATION_PORTRAIT を有効にします。OVERRIDE_ANY_ORIENTATION も有効化されていない限り、SCREEN_ORIENTATION_PORTRAIT はアクティビティが他の固定の向きを指定していない場合にのみ使用されます。

RATE_LIMIT_TOASTS

変更 ID: 174840628
デフォルトの状態: この変更を切り替えることはできません。互換性フレームワークによってログに記録されるだけです。

Toast.show() の呼び出し回数に対するレート制限を有効にして、限られた時間内にトーストを多用してユーザーに負担をかけすぎないようにします。特定の時間枠で許可された数よりも多いトーストを表示しようとすると、トーストは破棄されます。

REJECT_NEGATIVE_NETWORK_ESTIMATES

変更 ID: 253665015
デフォルトの状態: Android 14(API レベル 34)以上をターゲットとするアプリで有効。

有効にする場合、推定ネットワーク バイト数が負でないことが要求されます。

REQUIRE_NETWORK_CONSTRAINT_FOR_NETWORK_JOB_WORK_ITEMS

変更 ID: 241104082
デフォルトの状態: Android 14(API レベル 34)以上をターゲットとするアプリで有効。

Android 14(API レベル 34)以降をターゲットとするアプリの場合、付属の JobWorkItem がネットワーク使用状況を示している場合、ホスティング ジョブでネットワーク制約を指定する必要があります。

REQUIRE_NETWORK_PERMISSIONS_FOR_CONNECTIVITY_JOBS

変更 ID: 271850009
デフォルトの状態: Android 14(API レベル 34)以上をターゲットとするアプリで有効。

Android 14(API レベル 34)以降をターゲットとするアプリの場合、接続制約のあるジョブのスケジュールを設定するときに、INTERNET 権限と ACCESS_NETWORK_STATE 権限の両方を指定する必要があります。

THROW_ON_INVALID_DATA_TRANSFER_IMPLEMENTATION

変更 ID: 255371817
デフォルトの状態: Android 14(API レベル 34)以上をターゲットとするアプリで有効。

Android 14(API レベル 34)以降をターゲットとするアプリでは、ユーザーが開始したデータ転送ジョブを指定するときに、必要な Data Transfer API がすべて適切に実装されていない場合、例外がスローされます。

この変更の詳細については、 フォアグラウンド サービスをユーザーが開始するデータ転送ジョブに移行する方法のページをご覧ください。

USE_EXPERIMENTAL_COMPONENT_ALIAS

変更 ID: 196254758
デフォルトの状態: すべてのアプリで無効。

有効にすると、「android」パッケージでコンポーネント エイリアスを使用できるようになります。