ALWAYS_SANDBOX_DISPLAY_APIS
           変更 ID: 185004937 
           デフォルトの状態: すべてのアプリで無効。 
           有効にすると、ウィンドウ処理モードに関係なく、Display API のサンドボックス化がパッケージに適用されます。Display API では常にアプリの境界が設定されます。 
           この変更について詳しくは、Android 12 の動作変更ページで、
           サポートが終了した表示メソッドに関するセクションをご覧ください。 
         | 
      
      
        
           AUTOFILL_NON_TEXT_REQUIRES_ON_RECEIVE_CONTENT_LISTENER
           変更 ID: 163400105 
           デフォルトの状態: Android 12(API レベル 32)以上をターゲットとするアプリで有効。 
           Android 12 以降では、拡張された自動入力フレームワーク(自動入力サービスを参照)を使用して、テキスト以外の候補(画像など)を提供できます。こういった候補をアプリで扱えるようにするには、通常は OnReceiveContentListener API を実装する必要があります。 
           この API を、以前に InputConnection.commitContent(InputContentInfo, int, Bundle) API を実装したアプリにスムーズに導入できるようにするため、この API を、OnReceiveContentListener がまだアプリで実装されていない場合のフォールバックとして再利用します。このフォールバックは Android 12(API レベル 31)でのみ有効です。この変更 ID でフォールバックが無効になり、Android 12(API レベル 32)以上をターゲットとするアプリで、テキスト以外の候補に対応するには OnReceiveContentListener API を実装することが必要となります。 
         | 
      
      
        
           BLOCK_FLAG_SLIPPERY
           変更 ID: 157929241 
           デフォルトの状態: すべてのアプリで有効。 
           Android 12(API レベル 31)で動作するアプリの場合、アプリ内のウィンドウで FLAG_SLIPPERY が使用されているかどうかを確認します。このフラグは、サポートされていないフィールドであるため、システム コンポーネントによってのみ使用されることを想定しています。その場合は、制限されます。 
         | 
      
      
        
           BLOCK_GPS_STATUS_USAGE
           変更 ID: 144027538 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとするアプリでは、GpsStatus API の使用をすべて GnssStatus API に置き換える必要があります。 
         | 
      
      
        
           BLOCK_IMMUTABLE_PENDING_INTENTS
           変更 ID: 171317480 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとするアプリでは、位置情報 API に渡される不変の PendingIntent オブジェクトによって IllegalArgumentException. が生成されます。 
         | 
      
      
        
           BLOCK_PENDING_INTENT_SYSTEM_API_USAGE
           変更 ID: 169887240 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとするアプリでは、LocationRequest システム API を PendingIntent 位置情報リクエストと一緒に使用することはできません。 
         | 
      
      
        
           BLOCK_UNTRUSTED_TOUCHES
           変更 ID: 158002302 
           デフォルトの状態: すべてのアプリで有効。 
          システム セキュリティと優れたユーザー エクスペリエンスを維持するため、Android 12 は、オーバーレイが安全でない方法でアプリを覆い隠している場合にタッチイベントをアプリが使用することを許しません。 
          この変更について詳しくは、信頼できないタッチイベントはブロックされるをご覧ください。 
         | 
      
      
        
           CALL_ACTIVITY_RESULT_BEFORE_RESUME
           変更 ID: 78294732 
           デフォルトの状態: Android 12(API レベル 32)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 32)以上をターゲットとするアプリで、アクティビティの結果のライフサイクルが修正され、再開する直前にアクティビティがアクティビティの結果を取得することが保証されるように修正されます。 
         | 
      
      
        
           CAMERA_MIC_INDICATORS_NOT_PRESENT
           変更 ID: 162547999 
           デフォルトの状態: すべてのアプリで無効。 
           このデバイスがカメラとマイクのインジケーターをサポートすることを示します。変更 ID が存在しない場合、CompatChanges#isChangeEnabled メソッドは true を返すので、存在する場合は false になります。 
         | 
      
      
        
           CANNOT_INSTALL_WITH_BAD_PERMISSION_GROUPS
           変更 ID: 146211400 
           デフォルトの状態: Android 12(API レベル 32)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 32)以上をターゲットとするアプリで、不正な形式の権限グループがあると、パッケージ マネージャーでパッケージがインストールされません。権限グループは、証明書を共有するアプリ間でのみ共有してください。権限がグループに属している場合は、そのグループも定義する必要があります。 
         | 
      
      
        
           CHANGE_ID_AUTH_STATE_DENIED
           変更 ID: 181350407 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとするクライアント アプリの場合、承認が拒否された状態で nanoapp にメッセージを送信しようとすると、SecurityException がスローされます。 
         | 
      
      
        
           CHANGE_ID_SAMPLING_RATE_SENSORS_PERMISSION
           変更 ID: 136069189 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとするアプリでは、HIGH_SAMPLING_RATE_SENSORS 権限がなく、デバッグモードで実行され、200 Hz を超えるサンプリング レートがリクエストされた場合に、SecurityException がスローされます。 
         | 
      
      
        
           DELIVER_HISTORICAL_LOCATIONS
           変更 ID: 73144566 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとするアプリでは、状況によっては、位置情報クライアントが過去の位置情報を受け取ることがあります。 
         | 
      
      
        
           DISPLAY_INFO_NR_ADVANCED_SUPPORTED
           変更 ID: 181658987 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとするアプリでは、TelephonyDisplayInfo の変更に対する下位互換性を提供します。 
         | 
      
      
        
           DISPLAY_MODE_RETURNS_PHYSICAL_REFRESH_RATE
           変更 ID: 170503758 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとするアプリでは、より望ましい場合、プラットフォームがアプリのフレームレートをリフレッシュ レートの除数に抑制することがあります(たとえばアプリが Surface.setFrameRate(float, int) を呼び出した場合)。それにより、抑制されたフレームレートで Choreographer.postFrameCallback(Choreographer.FrameCallback) のコールバックとバックプレッシャーが発生します。アプリは Display.getRefreshRate() と Display.Mode.getRefreshRate() を使用して、ディスプレイのリフレッシュ レートを把握します。Display.getRefreshRate() は、アプリの表示の物理的なリフレッシュ レートではなく、常にアプリのフレームレートを返します。それによってフレーム ペーシングが適切に行われます。Display.Mode.getRefreshRate() を以前のリリースにコンパイルした場合にはアプリのフレームレートが返され、Android 12(API レベル 31)以降にコンパイルした場合には、物理的なディスプレイのリフレッシュ レートが返されます。 
         | 
      
      
        
           DOWNSCALED
           変更 ID: 168419799 
           デフォルトの状態: すべてのアプリで無効。 
           この変更により、アプリごとのバッファのダウンスケーリング変更が管理されます。この変更を有効にすると、以下のスケーリング ファクタを適用できます。 
           
          アプリのパッケージでこの変更が有効になっている場合、アプリは、有効になっている最大のスケーリング ファクタに強制的に変更されます。たとえば、80% と 70%(DOWNSCALE_80 と DOWNSCALE_70)の両方が有効になっている場合は 80% が使用されます。 
         | 
      
      
        
           DOWNSCALE_30
           変更 ID: 189970040 
           デフォルトの状態: すべてのアプリで無効。 
           DOWNSCALED も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリでは実際のディスプレイの垂直解像度と水平解像度が 30% のディスプレイで実行されていると認識されます。 
         | 
      
      
        
           DOWNSCALE_35
           変更 ID: 189969749 
           デフォルトの状態: すべてのアプリで無効。 
           DOWNSCALED も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリでは実際のディスプレイの垂直解像度と水平解像度が 35% のディスプレイで実行されていると認識されます。 
         | 
      
      
        
           DOWNSCALE_40
           変更 ID: 189970038 
           デフォルトの状態: すべてのアプリで無効。 
           DOWNSCALED も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリでは実際のディスプレイの垂直解像度と水平解像度が 40% のディスプレイで実行されていると認識されます。 
         | 
      
      
        
           DOWNSCALE_45
           変更 ID: 189969782 
           デフォルトの状態: すべてのアプリで無効。 
           DOWNSCALED も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリでは実際のディスプレイの垂直解像度と水平解像度が 45% のディスプレイで実行されていると認識されます。 
         | 
      
      
        
           DOWNSCALE_50
           変更 ID: 176926741 
           デフォルトの状態: すべてのアプリで無効。 
           DOWNSCALED も有効になっている場合、パッケージでこの変更を有効にすると、アプリでは実際のディスプレイの垂直解像度と水平解像度が 50% のディスプレイで実行されていると認識されます。 
         | 
      
      
        
           DOWNSCALE_55
           変更 ID: 189970036 
           デフォルトの状態: すべてのアプリで無効。 
           DOWNSCALED も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリでは実際のディスプレイの垂直解像度と水平解像度が 55% のディスプレイで実行されていると認識されます。 
         | 
      
      
        
           DOWNSCALE_60
           変更 ID: 176926771 
           デフォルトの状態: すべてのアプリで無効。 
           DOWNSCALED も有効になっている場合、パッケージでこの変更を有効にすると、アプリでは実際のディスプレイの垂直解像度と水平解像度が 60% のディスプレイで実行されていると認識されます。 
         | 
      
      
        
           DOWNSCALE_65
           変更 ID: 189969744 
           デフォルトの状態: すべてのアプリで無効。 
           DOWNSCALED も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリでは実際のディスプレイの垂直解像度と水平解像度が 65% のディスプレイで実行されていると認識されます。 
         | 
      
      
        
           DOWNSCALE_70
           変更 ID: 176926829 
           デフォルトの状態: すべてのアプリで無効。 
           DOWNSCALED も有効になっている場合、パッケージでこの変更を有効にすると、アプリでは実際のディスプレイの垂直解像度と水平解像度が 70% のディスプレイで実行されていると認識されます。 
         | 
      
      
        
           DOWNSCALE_75
           変更 ID: 189969779 
           デフォルトの状態: すべてのアプリで無効。 
           DOWNSCALED も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリでは実際のディスプレイの垂直解像度と水平解像度が 75% のディスプレイで実行されていると認識されます。 
         | 
      
      
        
           DOWNSCALE_80
           変更 ID: 176926753 
           デフォルトの状態: すべてのアプリで無効。 
           DOWNSCALED も有効になっている場合、パッケージでこの変更を有効にすると、アプリでは実際のディスプレイの垂直解像度と水平解像度が 80% のディスプレイで実行されていると認識されます。 
         | 
      
      
        
           DOWNSCALE_85
           変更 ID: 189969734 
           デフォルトの状態: すべてのアプリで無効。 
           DOWNSCALED も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリでは実際のディスプレイの垂直解像度と水平解像度が 85% のディスプレイで実行されていると認識されます。 
         | 
      
      
        
           DOWNSCALE_90
           変更 ID: 182811243 
           デフォルトの状態: すべてのアプリで無効。 
           DOWNSCALED も有効になっている場合、パッケージに対してこの変更を有効にすると、アプリでは実際のディスプレイの垂直解像度と水平解像度が 90% のディスプレイで実行されていると認識されます。 
         | 
      
      
        
           DO_NOT_DOWNSCALE_TO_1080P_ON_TV
           変更 ID: 157629738 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとする Android TV アプリでは、あらゆるウィンドウ サイズ(1080p を超えるウィンドウを含む)が処理されると想定されます。
             以前のバージョンの Android をターゲットとするアプリは、1080p を超えるウィンドウを受け取ることが想定されないため、必要に応じてウィンドウが 1080p にスケールダウンされます。 
         | 
      
      
        
           DROP_CLOSE_SYSTEM_DIALOGS
           変更 ID: 174664120 
           デフォルトの状態: すべてのアプリで有効。 
           アプリとシステムを操作しているときのユーザー制御を改善するため、Android 12 では ACTION_CLOSE_SYSTEM_DIALOGS インテント アクションのサポートが終了しました。 
           この変更について詳しくは、アプリからシステム ダイアログを閉じるアクションが不可にをご覧ください。 
         | 
      
      
        
           ENABLE_CHECKS_FOR_PRIVATE_FILES
           変更 ID: 172100307 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとするアプリの場合、メディア プロバイダを使用してプライベート ファイルを挿入または更新することはできません。 
         | 
      
      
        
           ENABLE_DEFERRED_SCAN
           変更 ID: 180326732 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           このオプションを有効にすると、MediaProvider#update() の一部としてトリガーされるスキャンが延期されます。 
         | 
      
      
        
           ENABLE_GET_CALL_STATE_PERMISSION_PROTECTION
           変更 ID: 157233955 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとするアプリでは、TelecomManager#getCallState、TelephonyManager.getCallStateForSubscription()、TelephonyCallback.CallStateListener などの呼び出し状態をクエリして通知する API で READ_PHONE_STATE の保護を有効にします。 
         | 
      
      
        
           ENABLE_GET_PHONE_ACCOUNT_PERMISSION_PROTECTION
           変更 ID: 183407956 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとするアプリでは、getPhoneAccount(PhoneAccountHandle) で READ_PHONE_NUMBERS または READ_PRIVILEGED_PHONE_STATE の保護を有効にします。 
         | 
      
      
        
           ENABLE_INCLUDE_ALL_VOLUMES
           変更 ID: 182734110 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           このオプションを有効にすると、最近マウント解除されたボリュームのファイルのデータベース行が MediaProvider#query に追加されます。 
         | 
      
      
        
           ENABLE_RAW_MANAGE_EXTERNAL_STORAGE_ACCESS
           変更 ID: 178209446 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           このオプションを有効にすると、Manifest.permission.MANAGE_EXTERNAL_STORAGE 権限を持つアプリが外部の RAW ストレージへのアクセスをリクエストできるようになります。 
         | 
      
      
        
           ENFORCE_MINIMUM_WINDOW_ON_INEXACT_ALARMS
           変更 ID: 185199076 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとするアプリでは、不正確なアラームはすべて、最小限の時間枠(数分間)を必要とします。これよりも短い時間枠を必要とするアラームは、実質的に正確なアラームと同じになるため、それに対応する API(setExact(int, long, PendingIntent) など)を使用する必要があります。短い時間枠を指定しても不正確なアラームの場合は、システムによって時間枠が延長されます。 
         | 
      
      
        
           ENFORCE_NATIVE_SHARED_LIBRARY_DEPENDENCIES
           変更 ID: 142191088 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとするアプリの場合、AndroidManifest.xml の uses-native-library タグを使用してデバイス メーカーが定義した公開ネイティブ共有ライブラリへの依存関係を宣言する必要があります。いずれかの依存関係が満たされない場合(依存関係の 1 つが存在しない場合など)、パッケージ マネージャーはアプリをインストールしません。依存関係は、タグ内の android:required 属性で任意として指定できます。任意として指定した場合、依存関係が満たされなくてもインストールは中止されません。 
           インストール後、アプリ マニフェストで指定されたネイティブ共有ライブラリのみがアプリに提供されます。アプリ マニフェストにないネイティブ共有ライブラリで dlopen を呼び出した場合、ライブラリが実際にデバイスに存在していても、呼び出しは失敗します。 
         | 
      
      
        
           ENFORCE_STRICT_QUERY_BUILDER
           変更 ID: 143231523 
           デフォルトの状態: すべてのアプリで無効。 
           有効にすると、SQLiteQueryBuilder はすべての CalendarProvider2 クエリの選択に対し、悪意のある引数がないか検証します。 
         | 
      
      
        
           FGS_BG_START_RESTRICTION_CHANGE_ID
           変更 ID: 170668199 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとするアプリでは、アプリがバックグラウンドで動作しているときにフォアグラウンド サービスを開始できるタイミングを制限します。 
         | 
      
      
        
           FGS_START_EXCEPTION_CHANGE_ID
           変更 ID: 174041399 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとするアプリでは、アプリがバックグラウンドで動作しているときにフォアグラウンド サービスを開始しようとすると、システムが IllegalStateException をスローできるようになります。 
         | 
      
      
        
           
           変更 ID: 156215187 
           デフォルトの状態: すべてのアプリで無効。 
           Android 12(API レベル 31)以上をターゲットとするアプリでは、デバイスが non-interactive になると InputConnection を終了します。 
           現在の input method によって有効化されている場合、デバイスが非インタラクティブになるたびに、現在の入力接続が finished になります。 
           有効でない場合は、デバイスがインタラクティブでなくなると、代わりに現在の入力接続がサイレントに無効化され、デバイスが再びインタラクティブになると onFinishInput() と onStartInput() のペアがディスパッチされます。 
         | 
      
      
        
           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: 181136395 
           デフォルトの状態: すべてのアプリで無効。 
           適用されるパッケージを強制的にサイズ変更不可にします。 
         | 
      
      
        
           FORCE_RESIZE_APP
           変更 ID: 174042936 
           デフォルトの状態: すべてのアプリで無効。 
           適用されるパッケージを強制的にサイズ変更可能にします。これにより全画面表示ウィンドウ モードでのサイズ変更が可能になりますが、アプリを強制的にサイズ変更可能なマルチウィンドウ モードにするものではありません。 
         | 
      
      
        
           HIDE_PROP_ICUBINARY_DATA_PATH
           変更 ID: 171979766 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとするアプリでは、android.icu.impl.ICUBinary.dataPath プロパティへのアクセス権が削除されます。 
         | 
      
      
        
           IGNORE_ALLOW_BACKUP_IN_D2D
           変更 ID: 183147249 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとするアプリの場合、デバイス間(D2D)の移行時に android:allowBackup は無視されます。 
         | 
      
      
        
           IGNORE_FULL_BACKUP_CONTENT_IN_D2D
           変更 ID: 180523564 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとするアプリでは、android:fullBackupContent を使用して指定するインクルード ルールと除外ルールは、デバイス間(D2D)の移行時に無視されます。 
         | 
      
      
        
           IME_AUTOFILL_DEFAULT_SUPPORTED_LOCALES_IS_EMPTY
           変更 ID: 169273070 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとするアプリでは、getSupportedLocales() が設定されていない場合、デフォルトのシステム ロケールではなく、空のロケールリストを返すようになりました。 
         | 
      
      
        
           IS_BACKUP_SERVICE_ACTIVE_ENFORCE_PERMISSION_IN_SERVICE
           変更 ID: 158482162 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとするアプリでは、isBackupServiceActive() に必要な BACKUP 権限が、クライアント側ではなくサービス側の BackupManager に適用されます。 
         | 
      
      
        
           KEYSTORE_OPERATION_CREATION_MAY_FAIL
           変更 ID: 169897160 
           デフォルトの状態: すべてのアプリで無効。 
           有効にすると、キーストア オペレーションの作成が新しいプルーニング戦略に沿って失敗することがあります。以前、キーストアは暗号オペレーションの作成が常に成功するという前提で動作していました。しかし、KeyMint バックエンドのオペレーション スロット数には限りがあります。 
           オペレーション スロットが「無限」にあるという外観を維持するため、使用可能なオペレーション スロットがない場合、キーストア デーモンは最後に使用されてから最も時間の経ったオペレーションをプルーニングしていました。その結果、良好なオペレーションが途中で終了することがありました。これにより、AndroidKeystore はサービス拒否(DoS)と意図しないライブロックが発生するリスクにさらされました。たとえば、電源管理の最適化により複数のアプリが同時に起動して暗号オペレーションを実行しようとした場合、それらは互いのオペレーションを終了する処理を開始し、進行しなくなります。 
           ライブロックの解消や DoS の阻止を実現するため、プルーニング戦略が変更され、少数のオペレーション スロットを短時間のみ使用するクライアントが優先されるようになりました。その結果、非アクティブ状態が 5 秒を超えない単一のオペレーションは、ほとんど常にプルーニング戦略によって妨げられることなく完了するようになります。ファイル システムの暗号化に関連するオペレーションの中には、そのようなオペレーションすらプルーニングするものがありますが、そうしたケースは非常にまれです。この新しいプルーニング戦略オペレーションの副作用として、クライアントのプルーニング能力が既存のすべてのオペレーションよりも低い場合、作成が失敗する可能性があります。 
           プルーニング戦略: 適切な候補を見つけるため、呼び出し元と個々の既存のオペレーションのマルスを計算します。マルスとは、プルーニング能力(呼び出し元)またはプルーニング抵抗力(既存のオペレーション)の逆数です。呼び出し元がオペレーションをプルーニングできるためには、自分よりも高いマルスを持つオペレーションを見つける必要があります。プルーニング戦略について詳しくは、operation.rs の実装をご覧ください。Android 11(API レベル 30)以下では、KeyStore2 はキーストア デーモンをポーリングして空いているオペレーション スロットを探します。Android 11(API レベル 30)以下をターゲットとするアプリの場合、暗号と署名のオブジェクトの初期化は常に成功するように見えますが、オペレーションを取得する時間が長くなる可能性があります。すべての Android バージョンで、より公平なオペレーション スロットのスケジューリングが実現され、オペレーションを正常に完了できる可能性が高くなります。 
         | 
      
      
        
           LOCK_DOWN_CLOSE_SYSTEM_DIALOGS
           変更 ID: 174664365 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとするアプリでは、android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS 権限がない限り Intent.ACTION_CLOSE_SYSTEM_DIALOGS を送信することはできません。これは制限が強化された #DROP_CLOSE_SYSTEM_DIALOGS であり、アプリが Android 12(API レベル 31)以上をターゲットとしたときに Intent.ACTION_CLOSE_SYSTEM_DIALOGS インテントの送信を停止することが想定されています。 
         | 
      
      
        
           LOCK_DOWN_COLLAPSE_STATUS_BAR
           変更 ID: 173031413 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとするアプリでは、セキュリティ上の理由により、ステータスバー パネルを折りたたむには Manifest.permission.STATUS_BAR 権限が必要です。これはマルウェアによって悪用され、ユーザーが重要な通知にアクセスするのを妨げていました。 
         | 
      
      
        
           LOW_POWER_EXCEPTIONS
           変更 ID: 168936375 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
          Android 12(API レベル 31)以上をターゲットとするアプリでは、呼び出し元が LOCATION_HARDWARE 権限を持っていない場合、低電力としてマークされたすべての LocationRequest オブジェクトは、メッセージを表示せずにリクエストの低電力部分をドロップする代わりに、例外をスローします。 
         | 
      
      
        
           MISSING_EXPORTED_FLAG
           変更 ID: 150232615 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとするアプリでは、インテント フィルタを定義する際に、android:exported 属性に明示的な値を指定する必要があります。 
           この変更について詳しくは、コンポーネントのより安全なエクスポートをご覧ください。 
         | 
      
      
        
           NATIVE_HEAP_POINTER_TAGGING_APP_ZYGOTE
           変更 ID: 207557677 
           デフォルトの状態: Android 12(API レベル 32)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 32)以上をターゲットとするアプリの場合、AppZygote プロセスとその子孫でのネイティブのヒープ割り当てで最上位バイトに非ゼロのタグを使用します。 
           この変更について詳しくは、タグ付きポインタをご覧ください。 
         | 
      
      
        
           NATIVE_HEAP_ZERO_INIT
           変更 ID: 178038272 
           デフォルトの状態: すべてのアプリで無効。 
           ネイティブ ヒープのメモリ割り当ての自動ゼロ初期化を有効にします。 
         | 
      
      
        
           NATIVE_MEMTAG_ASYNC
           変更 ID: 135772972 
           デフォルトの状態: すべてのアプリで無効。 
           このプロセスで非同期(ASYNC)メモリタグのチェックを有効にします。このフラグは、ARM メモリタグ付け拡張機能(MTE)をサポートするハードウェアにのみ影響します。 
         | 
      
      
        
           NATIVE_MEMTAG_SYNC
           変更 ID: 177438394 
           デフォルトの状態: すべてのアプリで無効。 
           このプロセスで同期(SYNC)メモリタグのチェックを有効にします。このフラグは、ARM メモリタグ付け拡張機能(MTE)をサポートするハードウェアにのみ影響します。NATIVE_MEMTAG_ASYNC とこのオプションの両方を有効にした場合は、このオプションが優先されます。また、MTE が SYNC モードで有効化されます。 
         | 
      
      
        
           NEVER_SANDBOX_DISPLAY_APIS
           変更 ID: 184838306 
           デフォルトの状態: すべてのアプリで無効。 
           有効にすると、Display API のサンドボックス化がレターボックスまたは SCM アクティビティに適用されなくなります。Display API は、今後も引き続き DisplayArea 境界を提供します。 
           この変更について詳しくは、Android 12 の動作変更ページで、
           サポートが終了した表示メソッドに関するセクションをご覧ください。 
         | 
      
      
        
           NOTIFICATION_CANCELLATION_REASONS
           変更 ID: 175319604 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           通知リスナーが、より具体的な新しいキャンセル理由を理解できるようにします。 
         | 
      
      
        
           NOTIFICATION_TRAMPOLINE_BLOCK
           変更 ID: 167676448 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           アプリのパフォーマンスと UX を改善するため、Android 12 をターゲットとするアプリでは、サービスまたはブロードキャスト レシーバを通知トランポリンとして使用できなくなりました。 
           この変更について詳しくは、サービスまたはブロードキャスト レシーバからの通知トランポリン作成が不可にをご覧ください。 
         | 
      
      
        
           NULL_TELEPHONY_THROW_NO_CB
           変更 ID: 182185642 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           現在のプロセスのターゲットとする SDK のバージョンが Android 12(API レベル 31)以降かどうかを確認するために使用されます。 
           以下のメソッドに適用されます。
              
          
         | 
      
      
        
           OVERRIDE_MIN_ASPECT_RATIO
           変更 ID: 174042980 
           デフォルトの状態: すべてのアプリで無効。 
           この変更により、所定の最小アスペクト比を強制的に適用するすべての変更が管理されます。この変更を有効にすると、以下の最小アスペクト比を適用できます。 
           
          アプリのパッケージでこの変更が有効になっている場合、アプリのマニフェストで指定されている最小のアスペクト比が、最大の有効なアスペクト比よりも優先されます(アプリのマニフェスト値の方が大きい場合を除く)。 
         | 
      
      
        
           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 で定義された中央値に設定されます。 
         | 
      
      
        
           PENDING_INTENT_EXPLICIT_MUTABILITY_REQUIRED
           変更 ID: 160794467 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
          Android 12(API レベル 31)以上をターゲットとするアプリでは、アプリが作成する各 PendingIntent オブジェクトの可変性を指定する必要があります。この追加要件により、アプリのセキュリティが強化されます。 
           この変更について詳しくは、ペンディング インテントで可変性の宣言が必須にをご覧ください。 
         | 
      
      
        
           PREVENT_SETTING_PASSWORD_QUALITY_ON_PARENT
           変更 ID: 165573442 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとする管理アプリでは、DevicePolicyManager.setPasswordQuality(ComponentName, int) を使用して、DevicePolicyManager.getParentProfileInstance(ComponentName) を呼び出して取得した DevicePolicyManager インスタンスでパスワード品質を設定することはできません。
             代わりに DevicePolicyManager.setRequiredPasswordComplexity(int) を使用して、デバイス全体で大まかなパスワード要件を設定する必要があります。 
         | 
      
      
        
           RATE_LIMIT_TOASTS
           変更 ID: 174840628 
           デフォルトの状態: この変更は切り替えができません。互換性フレームワークによってログに記録されるだけです。 
           Toast.show() 呼び出し数のレート制限を有効にして、限られた時間内の過剰なトーストでユーザーに過度の負荷をかけないようにします。特定の時間枠で許可された数よりも多いトーストを表示しようとすると、トーストは破棄されます。 
         | 
      
      
        
           REQUIRE_EXACT_ALARM_PERMISSION
           変更 ID: 171306433 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとするアプリでは、setExactAndAllowWhileIdle(int, long, PendingIntent) や setAlarmClock(AlarmClockInfo, PendingIntent) などの API を使用して正確なアラームを設定するには、Manifest.permission.SCHEDULE_EXACT_ALARM 権限が必要です。 
         | 
      
      
        
           REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_ACTIVE_DATA_SUB_ID
           変更 ID: 182478738 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとするアプリで TelephonyCallback.ActiveDataSubscriptionIdListener を呼び出すには、アプリに Manifest.permission.READ_PHONE_STATE 権限が必要です。 
         | 
      
      
        
           REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_CELL_INFO
           変更 ID: 184323934 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとするアプリで TelephonyCallback.CellInfoListener を呼び出すには、アプリに Manifest.permission.READ_PHONE_STATE 権限が必要です。 
         | 
      
      
        
           REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_DISPLAY_INFO
           変更 ID: 183164979 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとするアプリで TelephonyCallback.DisplayInfoListener を呼び出すには、アプリに Manifest.permission.READ_PHONE_STATE 権限が必要です。 
         | 
      
      
        
           RESTRICT_ADB_BACKUP
           変更 ID: 171032338 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとするアプリの場合、デバッグ可能(android:debuggable が true に設定)として実行される、他のアプリで使用できないアプリに対して、adb backup が自動的にオンになります。 
         | 
      
      
        
           RESTRICT_DOMAINS
           変更 ID: 175408749 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとするアプリでは、アプリリンクの検証 API の更新版が必要です。この要件により、アプリは次のすべてを含むインテント フィルタ内でドメインを宣言する必要があります。 
           
             android:autoVerify="true" 
             Intent.ACTION_VIEW 
             Intent.CATEGORY_BROWSABLE 
             Intet.CATEGORY_DEFAULT 
             IntentFilter.SCHEME_HTTP と IntentFilter.SCHEME_HTTPS のいずれか一方または両方(他のスキームは不可) 
            
           以前のバージョンの Android では Intent.CATEGORY_BROWSABLE は必須ではなく、他のスキームも許容されていました。インテント フィルタ内で autoVerify を true に設定すると、すべてのインテント フィルタが autoVerify="true" に設定されることが暗黙的に想定されていました。 
         | 
      
      
        
           SECURITY_EXCEPTION_ON_INVALID_ATTRIBUTION_TAG_CHANGE
           変更 ID: 151105954 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
          Android 12(API レベル 31)以上をターゲットとするアプリでは、noteOp(String, int, String)、noteProxyOp(String, String)、startOp(String, int, String) に送信されるすべての attributionTags が、メソッドのパラメータとして指定されたパッケージのマニフェストで定義されます。 
          この変更を有効にするには、noteOp(String, int, String) を呼び出すパッケージと、メソッドのパラメータとして指定されたパッケージの両方で、この変更が有効になっている必要があります。 
         | 
      
      
        
           SELINUX_LATEST_CHANGES
           変更 ID: 143539591 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとするアプリでは、最新の SELinux の変更にオプトインします。Android 12(API レベル 31)以上をターゲットとするアプリでこの変更をオフにした場合、効果は no-op です。共有ユーザー ID を使用するアプリには影響しません。 
         | 
      
      
        
           SETTINGS_API_V2
           変更 ID: 178111421 
           デフォルトの状態: すべてのアプリで有効。 
           AndroidManifest.xml インテント フィルタで autoVerify=true とマークされたドメインを検証するための新しいユーザー設定 API は、現在のプラットフォーム プレビューではまだ実装されていません。現時点では、adb shell pm set-app-links-user-selection や同様のコマンドを使用してこの変更を有効にすると、新しいユーザー設定の変更をプレビューできます。 
         | 
      
      
        
           USE_SHORT_FGS_USAGE_INTERACTION_TIME
           変更 ID: 183972877 
           デフォルトの状態: Android 12(API レベル 31)以上をターゲットとするアプリで有効。 
           Android 12(API レベル 31)以上をターゲットとするアプリでは、アプリがフォアグラウンド サービスを開始するときに、スタンバイ バケットを ACTIVE に上げる前に、短いタイムアウトを使用するかどうかを決定します。 
         |