Android 16 では、デベロッパー向けに優れた新しい機能と API が導入されました。以下のセクションでは、これらの機能の概要を説明し、関連する API を使い始めるうえで役立つ情報を提供します。
新しい API、変更された API、削除された API の一覧については、API 差分レポートをご覧ください。新しい API について詳しくは、Android API リファレンスをご覧ください。新しい API は、見つけやすいようにハイライト表示されています。また、プラットフォームの変更がアプリに影響する可能性がある領域も確認する必要があります。詳細については、次のページをご覧ください。
コア機能
Android には、Android システムのコア機能を拡張する新しい API が含まれています。
2025 年に 2 つの Android API をリリース
- このプレビューは、2025 年第 2 四半期にリリースが予定されている Android の次のメジャー リリースを対象としています。このリリースは、過去のすべての API リリースと同様に、targetSdkVersion に関連付けられている動作の変更を計画できます。
- エコシステム全体のデバイスのリリース スケジュールに合わせて、メジャー リリースを 1 四半期前倒し(昨年は第 3 四半期でしたが、今年は第 2 四半期)に予定しています。これにより、より多くのデバイスで Android のメジャー リリースを早期に利用できるようになります。メジャー リリースが第 2 四半期に予定されているため、アプリの準備状況を確認するために、年次互換性テストを例年より数か月早く実施する必要があります。
- 2025 年第 4 四半期に、新しいデベロッパー API も含めて、さらにリリースする予定です。2025 年にアプリに影響する可能性がある動作変更が予定されているリリースは、第 2 四半期のメジャー リリースのみです。
4 四半期のマイナー リリースでは、新しいデベロッパー API に加え、機能のアップデート、最適化、バグの修正が含まれます。アプリに影響する動作の変更は含まれません。
Android のリリースは引き続き四半期ごとに行われます。API リリース間の Q1 と Q3 のアップデートでは、継続的な品質を確保するために増分アップデートが提供されます。Google は、できるだけ多くのデバイスに Q2 リリースを導入できるよう、デバイス パートナーと積極的に連携しています。
メジャー リリースとマイナー リリースで新しい API を使用する
現在、API レベルのチェックでコードブロックを保護するには、VERSION_CODES で SDK_INT 定数を使用します。これは、Android のメジャー リリースで引き続きサポートされます。
if (SDK_INT >= VERSION_CODES.BAKLAVA) {
// Use APIs introduced in Android 16
}
新しい SDK_INT_FULL 定数は、新しい VERSION_CODES_FULL 列挙型を使用して、メジャー バージョンとマイナー バージョンの両方に対する API チェックに使用できます。
if (SDK_INT_FULL >= VERSION_CODES_FULL.[MAJOR or MINOR RELEASE]) {
// Use APIs introduced in a major or minor release
}
Build.getMinorSdkVersion() メソッドを使用して、マイナー SDK バージョンのみを取得することもできます。
val minorSdkVersion = Build.getMinorSdkVersion(VERSION_CODES_FULL.BAKLAVA)
これらの API は未確定であり、変更される可能性があります。ご不明な点がございましたら、フィードバックをお送りください。
ユーザー エクスペリエンスとシステム UI
Android 16 では、アプリ デベロッパーとユーザーがニーズに合わせてデバイスを構成するための制御と柔軟性が向上しています。
進行状況を中心とした通知
Android 16 では、ユーザーが開始した、最初から最後までのジャーニーをシームレスに追跡できるように、進行状況重視の通知が導入されています。
Notification.ProgressStyle は、進行状況重視の通知を作成できる新しい通知スタイルです。主なユースケースには、乗車シェアリング、配達、ナビゲーションなどがあります。Notification.ProgressStyle クラス内で、ポイントとセグメントを使用して、ユーザー ジャーニー内の状態とマイルストーンを指定できます。
詳細については、進行状況重視の通知のドキュメント ページをご覧ください。
予測型「戻る」のアップデート
Android 16 では、ジェスチャー ナビゲーション(ホームに戻るアニメーションなど)で予測型「戻る」システム アニメーションを有効にするための新しい API が追加されました。新しい PRIORITY_SYSTEM_NAVIGATION_OBSERVER に onBackInvokedCallback を登録すると、システムが「戻る」ナビゲーションを処理するたびに、通常の「戻る」ナビゲーション フローに影響を与えることなく、アプリが通常の onBackInvoked 呼び出しを受け取ることができます。
Android 16 では、finishAndRemoveTaskCallback() と moveTaskToBackCallback も追加されています。これらのコールバックを OnBackInvokedDispatcher に登録することで、システムは、戻るジェスチャーが呼び出されたときに特定の動作をトリガーし、対応する事前アニメーションを再生できます。
リッチ ハプティクス
Android は、誕生以来、触覚アクチュエータの制御を公開してきました。
Android 11 では、デバイス定義のセマンティック プリミティブの VibrationEffect.Compositions を介して、より高度なアクチュエータがサポートできる、より複雑なハプティクス エフェクトのサポートが追加されました。
Android 16 では、ハプティクス API が追加されました。これにより、アプリはデバイスの機能の違いを抽象化しながら、ハプティクス エフェクトの振幅と周波数の曲線を定義できます。
デベロッパーの生産性とツール
生産性を向上させるための取り組みのほとんどは、Android Studio、Jetpack Compose、Android Jetpack ライブラリなどのツールを中心に行われていますが、プラットフォームでビジョンを実現するための方法も常に探しています。
ライブ壁紙のコンテンツ処理
在 Android 16 中,动态壁纸框架将获得一个新的 content API,以应对由用户驱动的动态壁纸带来的挑战。目前,包含用户提供的内容的实时壁纸需要复杂的服务专用实现。Android 16 引入了 WallpaperDescription 和 WallpaperInstance。借助 WallpaperDescription,您可以识别同一服务中的动态壁纸的不同实例。例如,如果某张壁纸同时在主屏幕和锁定屏幕上显示,则这两种情况下显示的内容可能各不相同。壁纸选择器和 WallpaperManager 会使用此元数据更好地向用户呈现壁纸,从而简化创建多样化个性化动态壁纸体验的过程。
パフォーマンスとバッテリー
Android 16 では、アプリに関する分析情報を収集するのに役立つ API が導入されています。
システム トリガー プロファイリング
ProfilingManager は Android 15 で追加されました。これにより、アプリは、フィールドの一般公開デバイスで Perfetto を使用してプロファイリング データの収集をリクエストできるようになりました。ただし、このプロファイリングはアプリから開始する必要があるため、起動や ANR などの重要なフローは、アプリでキャプチャするのが困難または不可能です。
これを支援するため、Android 16 では ProfilingManager にシステム トリガーのプロファイリングが導入されています。アプリは、コールド スタート reportFullyDrawn や ANR などの特定のトリガーのトレースを受信する関心を登録できます。これにより、システムはアプリに代わってトレースを開始および停止します。トレース完了後、結果はアプリのデータ ディレクトリに配信されます。
ApplicationStartInfo の開始コンポーネント
ApplicationStartInfo は Android 15 で追加されました。これにより、アプリはプロセスの開始理由、開始タイプ、開始時間、スロットリングなどの有用な診断データを確認できるようになりました。Android 16 では、起動をトリガーしたコンポーネントのタイプを区別するために getStartComponent() が追加されました。これは、アプリの起動フローを最適化する際に役立ちます。
ジョブのイントロスペクションの改善
JobScheduler#getPendingJobReason() API は、ジョブが保留中である理由を返します。ただし、ジョブが保留状態になる理由は複数考えられます。
Android 16 では、新しい API JobScheduler#getPendingJobReasons(int jobId) が導入されます。この API は、デベロッパーが設定した明示的な制約とシステムが設定した暗黙的な制約の両方により、ジョブが保留になっている理由を複数返します。
また、最近の制約変更のリストを返す JobScheduler#getPendingJobReasonsHistory(int jobId) も導入されます。
特に、特定のタスクの成功率が低下している場合や、特定のジョブの完了のレイテンシに関するバグがある場合は、API を使用してジョブが実行されない理由をデバッグすることをおすすめします。たとえば、バックグラウンドでのウィジェットの更新が失敗した場合や、アプリの起動前にプリフェッチ ジョブが呼び出されなかった場合です。
また、明示的に設定された制約ではなく、システム定義の制約が原因で特定のジョブが完了していないかどうかを把握するのにも役立ちます。
リフレッシュ レートの自動調整
Android 15 中引入的自适应刷新率 (ARR) 可让受支持硬件上的显示屏刷新率使用离散的 VSync 步长来适应内容帧速率。这不仅降低了功耗,还无需进行可能导致卡顿的模式切换。
Android 16 引入了 hasArrSupport() 和 getSuggestedFrameRate(int),同时恢复了 getSupportedRefreshRates(),以便您的应用更轻松地利用 ARR。RecyclerView 1.4 在从快速滑动或平滑滚动中稳定下来时会在内部支持 ARR,我们将继续努力,将 ARR 支持添加到更多 Jetpack 库中。这篇帧速率文章介绍了许多可用于设置帧速率的 API,以便您的应用可以直接使用 ARR。
ADPF のヘッドルーム API
SystemHealthManager では、ゲームやリソースを大量に消費するアプリに利用可能な CPU リソースと GPU リソースの推定値を提供するように設計された getCpuHeadroom API と getGpuHeadroom API が導入されています。これらのメソッドを使用すると、アプリやゲームでシステムの健全性を最適に改善する方法を見極めることができます。特に、サーマル スロットリングを検出する他の Android Dynamic Performance Framework(ADPF)API と組み合わせて使用すると効果的です。
対応デバイスで CpuHeadroomParams と GpuHeadroomParams を使用すると、ヘッドルームの計算に使用する時間枠をカスタマイズし、リソースの平均可用性または最小可用性を選択できます。これにより、CPU または GPU のリソース使用量を適度に削減し、ユーザー エクスペリエンスとバッテリー駆動時間を改善できます。
ユーザー補助
Android 16 では、すべてのユーザーにアプリを提供するために役立つ新しいユーザー補助 API と機能が追加されています。
Accessibility API の改善
Android 16 添加了其他 API 来增强界面语义,这有助于为依赖于无障碍服务(例如 TalkBack)的用户提高一致性。
为文字添加轮廓,以最大限度地提高文字对比度
视力较低的用户对对比度的敏感度通常较低,因此很难将对象与背景区分开来。为了帮助这些用户,Android 16 引入了轮廓文本,取代了高对比度文本,后者会在文本周围绘制较大的对比度区域,以大大提高可辨性。
Android 16 包含新的 AccessibilityManager API,可让您的应用检查或注册监听器,以查看此模式是否已启用。这主要适用于 Compose 等界面工具包,以提供类似的视觉体验。如果您维护界面工具包库,或者您的应用执行绕过 android.text.Layout 类的自定义文本渲染,则可以使用此方法来了解何时启用轮廓文本。
向 TtsSpan 添加了时长
Android 16 使用 TYPE_DURATION 扩展了 TtsSpan,其中包含 ARG_HOURS、ARG_MINUTES 和 ARG_SECONDS。这样,您就可以直接为时长添加注释,确保通过 TalkBack 等服务获得准确且一致的文本转语音输出。
支持具有多个标签的元素
Android 目前允许界面元素从其他元素派生其无障碍功能标签,现在还支持关联多个标签,这是 Web 内容中常见的情况。通过在 AccessibilityNodeInfo 中引入基于列表的 API,Android 可以直接支持这些多标签关系。在进行这项更改的过程中,我们已弃用 AccessibilityNodeInfo#setLabeledBy 和 #getLabeledBy,改用 #addLabeledBy、#removeLabeledBy 和 #getLabeledByList。
改进了对可展开元素的支持
Android 16 添加了无障碍功能 API,可让您传达互动元素(例如菜单和展开式列表)的展开或收起状态。通过使用 setExpandedState 设置展开状态,并使用 CONTENT_CHANGE_TYPE_EXPANDED 内容更改类型调度 TYPE_WINDOW_CONTENT_CHANGED AccessibilityEvents,您可以确保 TalkBack 等屏幕阅读器会读出状态更改,从而提供更直观、更包容的用户体验。
不确定进度条
Android 16 添加了 RANGE_TYPE_INDETERMINATE,让您可以为确定性和不确定性 ProgressBar 微件公开 RangeInfo,从而让 TalkBack 等服务能够更一致地为进度指示器提供反馈。
三态复选框
Android 16 中的新 AccessibilityNodeInfo
getChecked 和 setChecked(int) 方法现在除了“已选中”和“未选中”之外,还支持“部分选中”状态。此字段取代了已废弃的布尔值 isChecked 和 setChecked(boolean)。
补充说明
如果无障碍服务提供关于 ViewGroup 的说明,则会将来自其子视图的内容标签合并在一起。如果您为 ViewGroup 提供 contentDescription,无障碍服务会假定您还要覆盖不可聚焦的子视图的说明。如果您想为下拉菜单等内容添加标签(例如“字体系列”),同时保留当前的无障碍功能选择(例如“Roboto”),这可能会造成问题。Android 16 添加了 setSupplementalDescription,以便您提供用于提供 ViewGroup 相关信息的文本,而不会覆盖其子项中的信息。
必填表单字段
Android 16 向 AccessibilityNodeInfo 添加了 setFieldRequired,以便应用可以告知无障碍服务需要输入表单字段。对于填写各种类型表单的用户而言,这是一个重要的场景,即使是简单的必填条款及条件复选框,也能帮助用户始终如一地识别必填字段并在必填字段之间快速导航。
LEA 補聴器を使用した音声通話で、スマートフォンのマイクを入力として使用
Android 16 新增了一项功能,让 LE Audio 助听器用户能够在助听器的内置麦克风和手机上的麦克风之间切换,以进行语音通话。在嘈杂的环境或助听器麦克风可能无法正常工作的其他情况下,这会很有帮助。
LEA 補聴器の周囲の音の調整
Android 16 では、LE Audio 補聴器のユーザーが、補聴器のマイクによって拾われる周囲の音の音量を調整できる機能が追加されました。これは、背景のノイズがうるさすぎる場合や静かすぎる場合に役立ちます。
カメラ
Android 16 では、プロのカメラユーザー向けのサポートが強化され、ハイブリッド自動露出と、色温度と色合いの正確な調整が可能になります。新しいナイトモード インジケーターにより、アプリはナイトモードのカメラ セッションへの切り替えのタイミングを把握できます。新しい Intent アクションにより、モーション フォトを簡単に撮影できるようになりました。また、HEIC エンコードと ISO 21496-1 ドラフト標準の新しいパラメータのサポートにより、UltraHDR 画像の改善も継続して行っています。
ハイブリッド自動露出
Android 16 向 Camera2 添加了新的混合自动曝光模式,让您可以手动控制曝光的特定方面,同时让自动曝光 (AE) 算法处理其余部分。您可以控制 ISO + AE 和曝光时间 + AE,与当前方法(您要么完全手动控制,要么完全依赖自动曝光)相比,可提供更大的灵活性。
fun setISOPriority() {
// ... (Your existing code before the snippet) ...
val availablePriorityModes = mStaticInfo.characteristics.get(
CameraCharacteristics.CONTROL_AE_AVAILABLE_PRIORITY_MODES
)
// ... (Your existing code between the snippets) ...
// Turn on AE mode to set priority mode
reqBuilder.set(
CaptureRequest.CONTROL_AE_MODE,
CameraMetadata.CONTROL_AE_MODE_ON
)
reqBuilder.set(
CaptureRequest.CONTROL_AE_PRIORITY_MODE,
CameraMetadata.CONTROL_AE_PRIORITY_MODE_SENSOR_SENSITIVITY_PRIORITY
)
reqBuilder.set(
CaptureRequest.SENSOR_SENSITIVITY,
TEST_SENSITIVITY_VALUE
)
val request: CaptureRequest = reqBuilder.build()
// ... (Your existing code after the snippet) ...
}
色温度と色合いを正確に調整
Android 16 では、プロの動画撮影アプリをより適切にサポートするために、カメラで色温度と色合いを微調整できるようになりました。以前の Android バージョンでは、CONTROL_AWB_MODE で白色バランスの設定を制御できました。CONTROL_AWB_MODE には、白熱灯、曇り、夕暮れなど、プリセット リストに限定されたオプションが含まれていました。COLOR_CORRECTION_MODE_CCT を使用すると、COLOR_CORRECTION_COLOR_TEMPERATURE と COLOR_CORRECTION_COLOR_TINT を使用して、相関色温度に基づいてホワイトバランスを正確に調整できます。
fun setCCT() {
// ... (Your existing code before this point) ...
val colorTemperatureRange: Range<Int> =
mStaticInfo.characteristics[CameraCharacteristics.COLOR_CORRECTION_COLOR_TEMPERATURE_RANGE]
// Set to manual mode to enable CCT mode
reqBuilder[CaptureRequest.CONTROL_AWB_MODE] = CameraMetadata.CONTROL_AWB_MODE_OFF
reqBuilder[CaptureRequest.COLOR_CORRECTION_MODE] = CameraMetadata.COLOR_CORRECTION_MODE_CCT
reqBuilder[CaptureRequest.COLOR_CORRECTION_COLOR_TEMPERATURE] = 5000
reqBuilder[CaptureRequest.COLOR_CORRECTION_COLOR_TINT] = 30
val request: CaptureRequest = reqBuilder.build()
// ... (Your existing code after this point) ...
}
次の例は、さまざまな色温度と色合いの調整を適用した写真の外観を示しています。
カメラの夜間モードのシーン検出
为了帮助应用了解何时切换到夜间模式相机会话以及何时从夜间模式相机会话切换出,Android 16 添加了 EXTENSION_NIGHT_MODE_INDICATOR。如果受支持,则可在 Camera2 内的 CaptureResult 中使用。
这是我们在Instagram 如何让用户拍出令人惊艳的低光照片博文中提到的即将推出的 API。该博文提供了有关如何实现夜间模式的实用指南,并附有一份案例研究,该案例研究将应用内夜间模式照片质量的提升与通过应用内相机分享的照片数量的增加联系起来。
モーション フォトのキャプチャ インテント アクション
Android 16 では、カメラ アプリにモーション フォトをキャプチャして返すようリクエストする標準インテント アクション(ACTION_MOTION_PHOTO_CAPTURE、ACTION_MOTION_PHOTO_CAPTURE_SECURE)が追加されました。
追加の EXTRA_OUTPUT を渡してイメージの書き込み先を制御するか、Intent.setClipData(ClipData) を介して Uri を渡す必要があります。ClipData を設定しないと、Context.startActivity(Intent) を呼び出すときにコピーされます。
ウルトラ HDR 画像の拡張
Android 16 では、UltraHDR 画像で鮮明な画質を実現するための取り組みを継続しています。HEIC ファイル形式の UltraHDR 画像のサポートが追加されました。これらの画像は ImageFormat タイプ HEIC_ULTRAHDR になり、既存の UltraHDR JPEG 形式と同様に埋め込みのゲインマップが含まれます。UltraHDR の AVIF サポートにも取り組んでおりますので、どうぞご期待ください。
さらに、Android 16 では、ISO 21496-1 ドラフト標準の UltraHDR に追加のパラメータを実装しています。これには、ゲインマップの計算を適用するカラースペースを取得して設定する機能や、SDR ゲインマップを含む HDR エンコード ベース画像のサポートが含まれます。
グラフィック
Android 16 には、AGSL を使用したカスタム グラフィック効果など、最新のグラフィックの改善が含まれています。
AGSL を使用したカスタム グラフィック効果
Android 16 では、RuntimeColorFilter と RuntimeXfermode が追加され、しきい値、セピア、色相飽和度などの複雑なエフェクトを作成して、描画呼び出しに適用できるようになりました。Android 13 以降では、AGSL を使用して、Shader を拡張するカスタム RuntimeShaders を作成できます。新しい API はこれをミラーリングし、ColorFilter を拡張する AGSL ベースの RuntimeColorFilter と、ソース ピクセル間と宛先ピクセル間の AGSL ベースのカスタム コンポジットとブレンドを実装できる Xfermode エフェクトを追加します。
private val thresholdEffectString = """
uniform half threshold;
half4 main(half4 c) {
half luminosity = dot(c.rgb, half3(0.2126, 0.7152, 0.0722));
half bw = step(threshold, luminosity);
return bw.xxx1 * c.a;
}"""
fun setCustomColorFilter(paint: Paint) {
val filter = RuntimeColorFilter(thresholdEffectString)
filter.setFloatUniform(0.5);
paint.colorFilter = filter
}
接続
Android 16 では、プラットフォームがアップデートされ、アプリで最新の通信技術やワイヤレス技術を利用できるようになります。
セキュリティ強化による測距
Android 16 では、Wi-Fi 6 の 802.11az を搭載したサポート対象デバイスの Wi-Fi 位置情報で堅牢なセキュリティ機能がサポートされるようになりました。これにより、アプリは、プロトコルの精度、スケーラビリティ、動的スケジューリングの向上と、AES-256 ベースの暗号化や MITM 攻撃からの保護などのセキュリティ強化を組み合わせることができます。これにより、ノートパソコンや車のドアのロック解除など、近接型のユースケースでより安全に使用できます。802.11az は Wi-Fi 6 規格と統合されており、そのインフラストラクチャと機能を活用することで、より広範な導入とより簡単なデプロイを実現します。
汎用的な距離測定 API
Android 16 には、サポートされているハードウェアでローカル デバイスとリモート デバイス間の距離と角度を決定する方法を提供するための新しい RangingManager が含まれています。RangingManager は、BLE チャネル サウンド、BLE RSSI ベースの測距、ウルトラワイドバンド、Wi-Fi ラウンドトリップ時間など、さまざまな測距技術の使用をサポートしています。
コンパニオン デバイス マネージャーのデバイスの存在
Android 16 中引入了用于绑定配套应用服务的新 API。当 BLE 在范围内且蓝牙处于连接状态时,系统会绑定服务;当 BLE 不在范围内或蓝牙处于断开连接状态时,系统会解除绑定服务。应用将根据各种 DevicePresenceEvent 收到新的 'onDevicePresenceEvent()' 回调。如需了解详情,请参阅 'startObservingDevicePresence(ObservingDevicePresenceRequest)'。
メディア
Android 16 には、メディア エクスペリエンスを向上させるさまざまな機能が含まれています。
写真選択ツールの改善
照片选择器为用户提供了一种安全的内置授权方式,让用户可以向应用授予对本地存储空间和云端存储空间中所选图片和视频的访问权限,而不是对整个媒体库的访问权限。通过 Google 系统更新和 Google Play 服务组合使用模块化系统组件,该工具向后支持到 Android 4.4(API 级别 19)。只需几行代码即可与相关的 Android Jetpack 库集成。
Android 16 对照片选择器进行了以下改进:
- 嵌入式照片选择器:新 API,可让应用将照片选择器嵌入其视图层次结构中。这样,它就感觉像是应用中更为集成的一部分,同时仍可利用进程隔离功能,让用户能够选择媒体,而无需应用拥有过于宽泛的权限。为了最大限度地提高跨平台版本的兼容性并简化集成,如果您想集成嵌入式照片选择器,则需要使用即将推出的 Android Jetpack 库。
- 照片选择器中的云搜索:新的 API 可让 Android 照片选择器从云端媒体提供商中进行搜索。照片选择器中的搜索功能即将推出。
高度なプロフェッショナル動画
Android 16 引入了对高级专业视频 (APV) 编解码器的支持,该编解码器专为专业级高品质视频录制和后期制作而设计。
APV 编解码器标准具有以下特点:
- 感知上无损的视频画质(接近原始视频画质)
- 复杂度低且吞吐量高的仅帧内编码(无像素域预测),以更好地支持编辑工作流
- 支持高比特率范围(最高几十 Gbps),适用于 2K、4K 和 8K 分辨率内容,由轻量级熵编码方案实现
- 帧平铺,用于沉浸式内容和启用并行编码和解码
- 支持各种色度采样格式和位深
- 支持多次解码和重新编码,且不会严重降低视觉质量
- 支持多视图视频和辅助视频,例如深度、Alpha 和预览
- 支持 HDR10/10+ 和用户定义的元数据
OpenAPV 项目提供了 APV 的参考实现。Android 16 将实现对 APV 422-10 配置文件的支持,该配置文件提供 YUV 422 色彩采样以及 10 位编码,并且目标比特率最高可达 2 Gbps。
プライバシー
Android 16 には、アプリ デベロッパーがユーザーのプライバシーを保護するのに役立つさまざまな機能が含まれています。
ヘルスコネクトの更新
Health Connect 添加了 ACTIVITY_INTENSITY,这是一种根据世界卫生组织关于中等强度和剧烈强度活动的指南定义的数据类型。每个记录都需要提供开始时间、结束时间以及活动强度(中等或剧烈)。
Health Connect 还包含支持医疗记录的更新版 API。这样一来,应用便可在征得用户明确同意的情况下,读取和写入 FHIR 格式的医疗记录。
Android 版プライバシー サンドボックス
Android 16 中集成了最新版本的 Privacy Sandbox on Android,这是我们持续致力于开发可让用户放心地知道其隐私受到保护的技术的一部分。您可以访问我们的网站,详细了解 Privacy Sandbox on Android 开发者 Beta 版计划,以便顺利上手。不妨了解 SDK 运行时,它可让 SDK 在与其所服务的应用分离的专用运行时环境中运行,从而为用户数据收集和共享提供更强的保护措施。
セキュリティ
Android 16 には、アプリのセキュリティを強化し、アプリのデータを保護するのに役立つ機能が含まれています。
キー共有 API
Android 16 では、Android Keystore キーへのアクセスを他のアプリと共有する API が追加されています。新しい KeyStoreManager クラスは、アプリの uid による鍵へのアクセスの付与と取り消しをサポートし、アプリが共有鍵にアクセスするための API が含まれています。
デバイスのフォーム ファクタ
Android 16 では、Android のフォーム ファクタを最大限に活用するためのサポートがアプリに提供されます。
テレビの画質と音質の標準化されたフレームワーク
Android 16 中的新 MediaQuality 软件包公开了一组标准化 API,用于访问音频和图片配置文件以及与硬件相关的设置。这样,在线播放应用就可以查询配置文件并将其动态应用于媒体:
- 使用更大动态范围进行母版制作的电影需要更高的色彩准确度,才能看清阴影中的细微细节并根据环境光线进行调整,因此,最好使用色彩准确度优先于亮度的配置文件。
- 体育赛事直播通常采用较窄的动态范围进行母版制作,但通常是在白天观看,因此偏向亮度而非色彩准确度的配置文件可以获得更好的效果。
- 完全交互式内容需要尽可能减少处理以缩短延迟时间,并且需要更高的帧速率,因此许多电视都附带游戏配置文件。
借助此 API,应用可以在个人资料之间切换,用户可以享受调整支持的电视,以便尽可能适合其内容。
多言語対応
Android 16 では、デバイスが異なる言語で使用される場合のユーザー エクスペリエンスを補完する機能が追加されています。
縦書きテキスト
Android 16 添加了对垂直渲染和测量文本的低级支持,以便为库开发者提供基本的垂直书写支持。这对于日语等通常使用竖向书写系统的语言特别有用。Paint 类中添加了一个新标志 VERTICAL_TEXT_FLAG。使用 Paint.setFlags 设置此标志后,Paint 的文本测量 API 将报告垂直进度,而不是水平进度,并且 Canvas 将垂直绘制文本。
val text = "「春は、曙。」"
Box(
Modifier.padding(innerPadding).background(Color.White).fillMaxSize().drawWithContent {
drawIntoCanvas { canvas ->
val paint = Paint().apply { textSize = 64.sp.toPx() }
// Draw text vertically
paint.flags = paint.flags or VERTICAL_TEXT_FLAG
val height = paint.measureText(text)
canvas.nativeCanvas.drawText(
text,
0,
text.length,
size.width / 2,
(size.height - height) / 2,
paint
)
}
}
) {}
測定単位のカスタマイズ
用户现在可以在“设置”中的地区偏好设置中自定义测量系统。用户偏好设置包含在语言区域代码中,因此您可以在 ACTION_LOCALE_CHANGED 上注册 BroadcastReceiver,以便在地区偏好设置发生更改时处理语言区域配置更改。
使用格式设置程序有助于提供符合当地体验的服务。例如,对于将手机设置为英语(丹麦)或将手机设置为英语(美国)并将公制作为首选测量系统的用户,“0.5 in”的英语(美国)对应于“12,7 mm”。
如需找到这些设置,请打开“设置”应用,然后依次前往系统 > 语言和地区。