Fitur dan API

Android 16 memperkenalkan fitur dan API baru yang hebat bagi para developer. Bagian berikut merangkum fitur-fitur ini untuk membantu Anda memulai API terkait.

Untuk melihat daftar mendetail tentang API yang baru, diubah, dan dihapus, baca laporan perbedaan API. Untuk mengetahui detail tentang API baru, buka referensi API Android — API baru ditandai agar lebih mudah dilihat.

Anda juga harus meninjau area yang mungkin terpengaruh oleh perubahan platform. Untuk mengetahui informasi selengkapnya, lihat halaman berikut:

Fungsi inti

Android menyertakan API baru yang memperluas kemampuan inti sistem Android.

Dua rilis Android API pada tahun 2025

  • 此预览版适用于 Android 的下一个主要版本,计划于 2025 年第 2 季度发布。此版本与我们过去的所有 API 版本类似,我们可以进行计划性的行为更改,这些更改通常与 targetSdkVersion 相关联。
  • 我们计划提前一个季度(2021 年第 2 季度,而非之前的第 3 季度)发布主要版本,以便更好地与整个生态系统中的设备发布时间表保持一致,让更多设备能够更早地搭载 Android 主要版本。由于主要版本将于第 2 季度发布,因此您需要比往年提前几个月进行年度兼容性测试,以确保您的应用已做好准备。
  • 我们计划在 2025 年第 4 季度再发布一次,届时还将推出新的开发者 API。2025 年只有第二季度的主要版本包含可能影响应用的计划行为变更。

除了新的开发者 API 之外,第 4 季度次要版本还将包含功能更新、优化和 bug 修复;其中不会包含任何会影响应用的行为变更。

2025 年 Android 版本的时间轴视图,请注意,25Q2 版本是一个主要版本,25Q4 版本是一个次要版本。

我们将继续每季度发布 Android 版本。在 API 版本之间,第 1 季度和第 3 季度的更新将提供增量更新,以帮助确保持续提供高质量的服务。我们正积极与设备合作伙伴合作,将 Q2 版本推广到尽可能多的设备。

在主要版本和次要版本中使用新 API

目前,使用 SDK_INT 常量与 VERSION_CODES 结合使用,即可通过检查 API 级别来保护代码块。我们将继续支持主要 Android 版本。

if (SDK_INT >= VERSION_CODES.BAKLAVA) {
  // Use APIs introduced in Android 16
}

新的 SDK_INT_FULL 常量可用于针对主要版本和次要版本进行 API 检查,并使用新的 VERSION_CODES_FULL 枚举。

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 尚未最终确定,可能会发生变化,因此如果您有任何疑虑,请向我们发送反馈

Pengalaman pengguna dan UI sistem

Android 16 memberi developer aplikasi dan pengguna lebih banyak kontrol dan fleksibilitas untuk mengonfigurasi perangkat agar sesuai dengan kebutuhan mereka.

Notifikasi berpusat pada progres

Android 16 memperkenalkan notifikasi yang berfokus pada progres untuk membantu pengguna melacak perjalanan awal hingga akhir yang dimulai pengguna dengan lancar.

Notification.ProgressStyle adalah gaya notifikasi baru yang memungkinkan Anda membuat notifikasi yang berfokus pada progres. Kasus penggunaan utama mencakup transportasi online, pengiriman, dan navigasi. Dalam class Notification.ProgressStyle, Anda dapat menunjukkan status dan tonggak pencapaian dalam perjalanan pengguna menggunakan titik dan segmen.

To learn more, see the Progress-centric notifications documentation page.

Notifikasi yang berfokus pada progres yang ditampilkan di layar kunci.
Notifikasi yang berfokus pada progres yang ditampilkan di panel notifikasi.

Update kembali prediktif

Android 16 menambahkan API baru untuk membantu Anda mengaktifkan animasi sistem kembali prediktif dalam navigasi gestur seperti animasi kembali ke layar utama. Dengan mendaftarkan onBackInvokedCallback ke PRIORITY_SYSTEM_NAVIGATION_OBSERVER baru, aplikasi Anda dapat menerima panggilan onBackInvoked reguler setiap kali sistem menangani navigasi kembali tanpa memengaruhi alur navigasi kembali normal.

Android 16 juga menambahkan finishAndRemoveTaskCallback() dan moveTaskToBackCallback. Dengan mendaftarkan callback ini dengan OnBackInvokedDispatcher, sistem dapat memicu perilaku tertentu dan memutar animasi yang sesuai sebelumnya saat gestur kembali dipanggil.

Haptik yang lebih lengkap

Android telah mengekspos kontrol atas aktuator haptic sejak awal.

Android 11 menambahkan dukungan untuk efek haptik yang lebih kompleks yang dapat didukung oleh aktuator yang lebih canggih melalui VibrationEffect.Compositions dari primitif semantik yang ditentukan perangkat.

Android 16 menambahkan API haptik yang memungkinkan aplikasi menentukan kurva amplitudo dan frekuensi efek haptik sekaligus memisahkan perbedaan antara kemampuan perangkat.

Alat dan produktivitas developer

Meskipun sebagian besar upaya kami untuk meningkatkan produktivitas Anda berpusat pada alat seperti Android Studio, Jetpack Compose, dan library Android Jetpack, kami selalu mencari cara di platform untuk membantu Anda mewujudkan visi.

Penanganan konten untuk wallpaper animasi

在 Android 16 中,动态壁纸框架将获得一个新的 content API,以应对由用户驱动的动态壁纸带来的挑战。目前,包含用户提供的内容的实时壁纸需要复杂的服务专用实现。Android 16 引入了 WallpaperDescriptionWallpaperInstance。借助 WallpaperDescription,您可以识别同一服务中的动态壁纸的不同实例。例如,如果某张壁纸同时在主屏幕和锁定屏幕上显示,则这两种情况下显示的内容可能各不相同。壁纸选择器和 WallpaperManager 会使用此元数据更好地向用户呈现壁纸,从而简化创建多样化个性化动态壁纸体验的过程。

Performa dan baterai

Android 16 memperkenalkan API yang membantu mengumpulkan insight tentang aplikasi Anda.

Pembuatan profil yang dipicu sistem

ProfilingManager ditambahkan di Android 15, yang memberi aplikasi kemampuan untuk meminta pengumpulan data pembuatan profil menggunakan Perfetto di perangkat publik di lapangan. Namun, karena pembuatan profil ini harus dimulai dari aplikasi, alur penting seperti startup atau ANR akan sulit atau tidak dapat direkam oleh aplikasi.

Untuk membantu hal ini, Android 16 memperkenalkan pembuatan profil yang dipicu sistem ke ProfilingManager. Aplikasi dapat mendaftarkan minat untuk menerima rekaman aktivitas untuk pemicu tertentu seperti cold start reportFullyDrawn atau ANR, lalu sistem akan memulai dan menghentikan rekaman aktivitas atas nama aplikasi. Setelah pelacakan selesai, hasilnya akan dikirim ke direktori data aplikasi.

Memulai komponen di ApplicationStartInfo

ApplicationStartInfo ditambahkan di Android 15, yang memungkinkan aplikasi melihat alasan awal proses, jenis awal, waktu mulai, throttling, dan data diagnostik berguna lainnya. Android 16 menambahkan getStartComponent() untuk membedakan jenis komponen yang memicu awal, yang dapat membantu mengoptimalkan alur startup aplikasi Anda.

Introspeksi tugas yang lebih baik

JobScheduler#getPendingJobReason() API 会返回作业可能处于待处理状态的原因。不过,作业处于待处理状态的原因可能有多种。

在 Android 16 中,我们引入了一个新 API JobScheduler#getPendingJobReasons(int jobId),该 API 会返回作业处于待处理状态的多种原因,包括开发者设置的显式约束条件和系统设置的隐式约束条件。

我们还引入了 JobScheduler#getPendingJobReasonsHistory(int jobId),用于返回最新约束条件更改的列表。

我们建议您使用该 API 来调试作业可能无法执行的原因,尤其是在您发现某些任务的成功率降低或某些作业完成延迟存在 bug 时。例如,未能在后台更新微件,或在应用启动之前未能调用预加载作业。

这还有助于您更好地了解某些作业是否因系统定义的约束条件而无法完成,而不是因明确设置的约束条件而无法完成。

Kecepatan refresh adaptif

Android 15 中引入的自适应刷新率 (ARR) 可让受支持硬件上的显示屏刷新率使用离散的 VSync 步长来适应内容帧速率。这不仅降低了功耗,还无需进行可能导致卡顿的模式切换。

Android 16 引入了 hasArrSupport()getSuggestedFrameRate(int),同时恢复了 getSupportedRefreshRates(),以便您的应用更轻松地利用 ARR。RecyclerView 1.4从快速滑动或平滑滚动中稳定下来时会在内部支持 ARR,我们将继续努力,将 ARR 支持添加到更多 Jetpack 库中。这篇帧速率文章介绍了许多可用于设置帧速率的 API,以便您的应用可以直接使用 ARR。

API headroom di ADPF

SystemHealthManager memperkenalkan getCpuHeadroom dan getGpuHeadroom API, yang dirancang untuk menyediakan game dan aplikasi yang intensif resource dengan estimasi resource CPU dan GPU yang tersedia. Metode ini menawarkan cara bagi Anda untuk mengukur cara terbaik aplikasi atau game Anda meningkatkan kesehatan sistem, terutama jika digunakan bersama dengan Android Dynamic Performance Framework (ADPF) API lainnya yang mendeteksi throttling termal.

Dengan menggunakan CpuHeadroomParams dan GpuHeadroomParams di perangkat yang didukung, Anda dapat menyesuaikan periode waktu yang digunakan untuk menghitung headroom dan memilih antara ketersediaan resource rata-rata atau minimum. Hal ini dapat membantu Anda mengurangi penggunaan resource CPU atau GPU dengan semestinya, sehingga menghasilkan pengalaman pengguna yang lebih baik dan meningkatkan masa pakai baterai.

Aksesibilitas

Android 16 menambahkan API dan fitur aksesibilitas baru yang dapat membantu Anda menghadirkan aplikasi kepada setiap pengguna.

API aksesibilitas yang ditingkatkan

Android 16 添加了其他 API 来增强界面语义,这有助于为依赖于无障碍服务(例如 TalkBack)的用户提高一致性。

为文字添加轮廓,以最大限度地提高文字对比度

视力较低的用户对对比度的敏感度通常较低,因此很难将对象与背景区分开来。为了帮助这些用户,Android 16 引入了轮廓文本,取代了高对比度文本,后者会在文本周围绘制较大的对比度区域,以大大提高可辨性。

Android 16 包含新的 AccessibilityManager API,可让您的应用检查注册监听器,以查看此模式是否已启用。这主要适用于 Compose 等界面工具包,以提供类似的视觉体验。如果您维护界面工具包库,或者您的应用执行绕过 android.text.Layout 类的自定义文本渲染,则可以使用此方法来了解何时启用轮廓文本。

Android 16 推出新的轮廓文本无障碍功能前后,对比度更高的文本

向 TtsSpan 添加了时长

Android 16 使用 TYPE_DURATION 扩展了 TtsSpan,其中包含 ARG_HOURSARG_MINUTESARG_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 getCheckedsetChecked(int) 方法现在除了“已选中”和“未选中”之外,还支持“部分选中”状态。此字段取代了已废弃的布尔值 isCheckedsetChecked(boolean)

补充说明

如果无障碍服务提供关于 ViewGroup 的说明,则会将来自其子视图的内容标签合并在一起。如果您为 ViewGroup 提供 contentDescription,无障碍服务会假定您还要覆盖不可聚焦的子视图的说明。如果您想为下拉菜单等内容添加标签(例如“字体系列”),同时保留当前的无障碍功能选择(例如“Roboto”),这可能会造成问题。Android 16 添加了 setSupplementalDescription,以便您提供用于提供 ViewGroup 相关信息的文本,而不会覆盖其子项中的信息。

必填表单字段

Android 16 向 AccessibilityNodeInfo 添加了 setFieldRequired,以便应用可以告知无障碍服务需要输入表单字段。对于填写各种类型表单的用户而言,这是一个重要的场景,即使是简单的必填条款及条件复选框,也能帮助用户始终如一地识别必填字段并在必填字段之间快速导航。

Ponsel sebagai input mikrofon untuk panggilan suara dengan alat bantu dengar LEA

Android 16 menambahkan kemampuan bagi pengguna alat bantu dengar LE Audio untuk beralih antara mikrofon bawaan di alat bantu dengar dan mikrofon di ponsel mereka untuk panggilan suara. Hal ini dapat membantu di lingkungan yang bising atau situasi lain saat mikrofon alat bantu dengar mungkin tidak berperforma baik.

Kontrol volume sekitar untuk alat bantu dengar LEA

Android 16 新增了一项功能,可让 LE Audio 助听器用户调节助听器麦克风接收的环境声音的音量。在背景噪音过大或过小的情况下,这可能会很有用。

Kamera

Android 16 meningkatkan dukungan untuk pengguna kamera profesional, sehingga memungkinkan eksposur otomatis hybrid bersama dengan penyesuaian suhu warna dan tint yang akurat. Indikator mode malam baru membantu aplikasi Anda mengetahui kapan harus beralih ke dan dari sesi kamera mode malam. Tindakan Intent baru memudahkan pengambilan foto gerakan, dan kami terus meningkatkan gambar UltraHDR dengan dukungan untuk encoding HEIC dan parameter baru dari standar draf ISO 21496-1.

Eksposur otomatis hybrid

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) ...
}

Penyesuaian suhu warna dan tint yang akurat

Android 16 menambahkan dukungan kamera untuk penyesuaian tint dan suhu warna yang halus untuk mendukung aplikasi perekaman video profesional dengan lebih baik. Di versi Android sebelumnya, Anda dapat mengontrol setelan white balance melalui CONTROL_AWB_MODE, yang berisi opsi yang terbatas pada daftar preset, seperti Incandescent, Cloudy, dan Twilight. COLOR_CORRECTION_MODE_CCT memungkinkan penggunaan COLOR_CORRECTION_COLOR_TEMPERATURE dan COLOR_CORRECTION_COLOR_TINT untuk penyesuaian white balance yang akurat berdasarkan color temperature yang berkorelasi.

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) ...
}

Contoh berikut menunjukkan tampilan foto setelah menerapkan penyesuaian suhu warna dan tint yang berbeda:

Gambar asli tanpa penyesuaian color temperature atau tint.
Gambar dengan suhu warna yang disesuaikan menjadi 3000.
Gambar dengan suhu warna yang disesuaikan ke 7000.


Gambar dengan tingkat tint yang diturunkan sebesar 50.
Gambar dengan tingkat tint yang dinaikkan sebesar 50.

Deteksi adegan mode malam kamera

为了帮助应用了解何时切换到夜间模式相机会话以及何时从夜间模式相机会话切换出,Android 16 添加了 EXTENSION_NIGHT_MODE_INDICATOR。如果受支持,则可在 Camera2 内的 CaptureResult 中使用。

这是我们在Instagram 如何让用户拍出令人惊艳的低光照片博文中提到的即将推出的 API。该博文提供了有关如何实现夜间模式的实用指南,并附有一份案例研究,该案例研究将应用内夜间模式照片质量的提升与通过应用内相机分享的照片数量的增加联系起来。

Tindakan intent pengambilan foto gerakan

Android 16 menambahkan tindakan Intent standar — ACTION_MOTION_PHOTO_CAPTURE, dan ACTION_MOTION_PHOTO_CAPTURE_SECURE — yang meminta aplikasi kamera mengambil foto gerakan dan menampilkannya.

Anda harus meneruskan EXTRA_OUTPUT tambahan untuk mengontrol tempat gambar akan ditulis, atau Uri melalui Intent.setClipData(ClipData). Jika Anda tidak menetapkan ClipData, nilai tersebut akan disalin ke sana untuk Anda saat memanggil Context.startActivity(Intent).

Contoh foto motion, yang menampilkan gambar diam, diikuti dengan pemutaran gerakan.

Peningkatan gambar UltraHDR

Ilustrasi kualitas gambar Standard Dynamic Range (SDR) versus High Dynamic Range (HDR).

Android 16 merupakan lanjutan upaya kami untuk menghadirkan kualitas gambar yang memukau dengan gambar UltraHDR. Versi ini menambahkan dukungan untuk gambar UltraHDR dalam format file HEIC. Gambar ini akan mendapatkan jenis ImageFormat HEIC_ULTRAHDR dan akan berisi peta gain tersemat yang mirip dengan format JPEG UltraHDR yang ada. Kami juga sedang mengerjakan dukungan AVIF untuk UltraHDR, jadi nantikan kabar terbarunya.

Selain itu, Android 16 menerapkan parameter tambahan di UltraHDR dari standar draf ISO 21496-1, termasuk kemampuan untuk mendapatkan dan menetapkan ruang warna tempat matematika gainmap harus diterapkan, serta dukungan untuk gambar dasar yang dienkode HDR dengan gainmap SDR.

Grafik

Android 16 menyertakan peningkatan grafis terbaru, seperti efek grafis kustom dengan AGSL.

Efek grafis kustom dengan AGSL

Android 16 menambahkan RuntimeColorFilter dan RuntimeXfermode, yang memungkinkan Anda menulis efek kompleks seperti Threshold, Sepia, dan Hue Saturation, serta menerapkannya untuk menggambar panggilan. Sejak Android 13, Anda dapat menggunakan AGSL untuk membuat RuntimeShaders kustom yang memperluas Shader. API baru mencerminkan hal ini, dengan menambahkan RuntimeColorFilter yang didukung AGSL yang memperluas ColorFilter, dan efek Xfermode yang memungkinkan Anda menerapkan komposisi dan penggabungan kustom berbasis AGSL antara piksel sumber dan tujuan.

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
}

Konektivitas

Android 16 mengupdate platform untuk memberi aplikasi Anda akses ke kemajuan terbaru dalam teknologi komunikasi dan nirkabel.

Rentang dengan keamanan yang ditingkatkan

Android 16 menambahkan dukungan untuk fitur keamanan yang andal di lokasi Wi-Fi pada perangkat yang didukung dengan 802.11az Wi-Fi 6, yang memungkinkan aplikasi menggabungkan akurasi yang lebih tinggi, skalabilitas yang lebih besar, dan penjadwalan dinamis protokol dengan peningkatan keamanan termasuk enkripsi berbasis AES-256 dan perlindungan terhadap serangan MITM. Hal ini memungkinkannya digunakan dengan lebih aman dalam kasus penggunaan kedekatan, seperti membuka kunci laptop atau pintu kendaraan. 802.11az terintegrasi dengan standar Wi-Fi 6, yang memanfaatkan infrastruktur dan kemampuannya untuk adopsi yang lebih luas dan deployment yang lebih mudah.

API rentang generik

Android 16 menyertakan RangingManager baru, yang menyediakan cara untuk menentukan jarak dan sudut pada hardware yang didukung antara perangkat lokal dan perangkat jarak jauh. RangingManager mendukung penggunaan berbagai teknologi pengukuran jarak seperti sounding saluran BLE, pengukuran jarak berbasis RSSI BLE, Ultra Wideband, dan waktu perjalanan bolak-balik Wi-Fi.

Kehadiran perangkat pengelola perangkat pendamping

Di Android 16, API baru diperkenalkan untuk mengikat layanan aplikasi pendamping Anda. Layanan akan terikat saat BLE berada dalam jangkauan dan Bluetooth terhubung dan layanan akan dibatalkan ikatannya saat BLE berada di luar jangkauan atau Bluetooth terputus. Aplikasi akan menerima callback 'onDevicePresenceEvent()' baru berdasarkan berbagai DevicePresenceEvent. Detail selengkapnya dapat ditemukan di 'startObservingDevicePresence(ObservingDevicePresenceRequest)'.

Media

Android 16 menyertakan berbagai fitur yang meningkatkan pengalaman media.

Peningkatan pemilih foto

照片选择器为用户提供了一种安全的内置授权方式,让用户可以向应用授予对本地存储空间和云端存储空间中所选图片和视频的访问权限,而不是对整个媒体库的访问权限。通过 Google 系统更新Google Play 服务组合使用模块化系统组件,该工具向后支持到 Android 4.4(API 级别 19)。只需几行代码即可与相关的 Android Jetpack 库集成。

Android 16 对照片选择器进行了以下改进:

  • 嵌入式照片选择器新 API,可让应用将照片选择器嵌入其视图层次结构中。这样,它就感觉像是应用中更为集成的一部分,同时仍可利用进程隔离功能,让用户能够选择媒体,而无需应用拥有过于宽泛的权限。为了最大限度地提高跨平台版本的兼容性并简化集成,如果您想集成嵌入式照片选择器,则需要使用即将推出的 Android Jetpack 库。
  • 照片选择器中的云搜索新的 API 可让 Android 照片选择器从云端媒体提供商中进行搜索。照片选择器中的搜索功能即将推出。

Video Profesional Lanjutan

Android 16 memperkenalkan dukungan untuk codec Advanced Professional Video (APV) yang dirancang untuk digunakan dalam proses perekaman dan pascaproduksi video berkualitas tinggi tingkat profesional.

Standar codec APV memiliki fitur berikut:

  • Kualitas video yang tidak mengalami kompresi secara persepsi (hampir sama dengan kualitas video mentah)
  • Kompleksitas rendah dan coding intra-frame-only throughput tinggi (tanpa prediksi domain piksel) untuk mendukung alur kerja pengeditan dengan lebih baik
  • Dukungan untuk rentang kecepatan bit tinggi hingga beberapa Gbps untuk konten resolusi 2K, 4K, dan 8K, yang diaktifkan oleh skema coding entropi ringan
  • Pemasangan ubin frame untuk konten imersif dan untuk mengaktifkan encoding dan decoding paralel
  • Dukungan untuk berbagai format sampling kromatik dan kedalaman bit
  • Dukungan untuk beberapa decoding dan encoding ulang tanpa penurunan kualitas visual yang parah
  • Mendukung video multi-tampilan dan video tambahan seperti kedalaman, alfa, dan pratinjau
  • Dukungan untuk HDR10/10+ dan metadata yang ditentukan pengguna

Implementasi referensi APV disediakan melalui project OpenAPV. Android 16 akan menerapkan dukungan untuk Profil APV 422-10 yang menyediakan sampling warna YUV 422 bersama dengan encoding 10-bit dan untuk target kecepatan bit hingga 2 Gbps.

Privasi

Android 16 menyertakan berbagai fitur yang membantu developer aplikasi melindungi privasi pengguna.

Update Health Connect

Health Connect menambahkan ACTIVITY_INTENSITY, jenis data yang ditentukan sesuai dengan pedoman Organisasi Kesehatan Dunia terkait aktivitas sedang dan berat. Setiap data memerlukan waktu mulai, waktu berakhir, dan apakah intensitas aktivitas sedang atau berat.

Health Connect juga berisi API yang diperbarui yang mendukung rekam medis. Hal ini memungkinkan aplikasi membaca dan menulis catatan medis dalam format FHIR dengan izin pengguna yang eksplisit.

Privacy Sandbox di Android

Android 16 menggabungkan versi terbaru Privacy Sandbox di Android, yang merupakan bagian dari upaya berkelanjutan kami untuk mengembangkan teknologi yang memungkinkan pengguna mengetahui bahwa privasi mereka dilindungi. Situs kami memiliki informasi selengkapnya tentang program beta developer Privacy Sandbox di Android untuk membantu Anda memulai. Lihat Runtime SDK yang memungkinkan SDK berjalan di lingkungan runtime khusus yang terpisah dari aplikasi yang ditayangkan, sehingga memberikan pengamanan yang lebih kuat seputar pengumpulan dan pembagian data pengguna.

Keamanan

Android 16 menyertakan fitur yang membantu Anda meningkatkan keamanan aplikasi dan melindungi data aplikasi.

API berbagi kunci

Android 16 menambahkan API yang mendukung berbagi akses ke kunci Android Keystore dengan aplikasi lain. Class KeyStoreManager baru mendukung pemberian dan pencabutan akses ke kunci oleh uid aplikasi, dan menyertakan API untuk aplikasi agar dapat mengakses kunci yang dibagikan.

Faktor bentuk perangkat

Android 16 memberi aplikasi Anda dukungan untuk memaksimalkan faktor bentuk Android.

Framework kualitas gambar dan audio standar untuk TV

Paket MediaQuality baru di Android 16 mengekspos serangkaian API standar untuk akses ke profil audio dan gambar serta setelan terkait hardware. Hal ini memungkinkan aplikasi streaming membuat kueri profil dan menerapkan profil tersebut ke media secara dinamis:

  • Film yang dimaster dengan rentang dinamis yang lebih luas memerlukan akurasi warna yang lebih tinggi untuk melihat detail halus dalam bayangan dan menyesuaikan dengan cahaya sekitar, sehingga profil yang memilih akurasi warna daripada kecerahan mungkin sesuai.
  • Acara olahraga live sering kali dimaster dengan rentang dinamis yang sempit, tetapi sering ditonton di siang hari, sehingga profil yang lebih mengutamakan kecerahan daripada akurasi warna dapat memberikan hasil yang lebih baik.
  • Konten yang sepenuhnya interaktif menginginkan pemrosesan minimal untuk mengurangi latensi, dan menginginkan kecepatan frame yang lebih tinggi, itulah sebabnya banyak TV dilengkapi dengan profil game.

API ini memungkinkan aplikasi beralih antar-profil dan pengguna untuk menikmati penyesuaian TV yang didukung agar sesuai dengan konten mereka.

Internasionalisasi

Android 16 menambahkan fitur dan kemampuan yang melengkapi pengalaman pengguna saat perangkat digunakan dalam berbagai bahasa.

Teks vertikal

Android 16 menambahkan dukungan tingkat rendah untuk merender dan mengukur teks secara vertikal guna memberikan dukungan penulisan vertikal dasar bagi developer library. Hal ini sangat berguna untuk bahasa seperti Jepang yang biasanya menggunakan sistem tulisan vertikal. Flag baru, VERTICAL_TEXT_FLAG, telah ditambahkan ke class Paint. Saat tanda ini ditetapkan menggunakan Paint.setFlags, API pengukuran teks Paint akan melaporkan progres vertikal, bukan progres horizontal, dan Canvas akan menggambar teks secara vertikal.

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
            )
        }
    }
) {}

Penyesuaian sistem pengukuran

Pengguna kini dapat menyesuaikan sistem pengukuran mereka di preferensi regional dalam Setelan. Preferensi pengguna disertakan sebagai bagian dari kode lokalitas, sehingga Anda dapat mendaftarkan BroadcastReceiver di ACTION_LOCALE_CHANGED untuk menangani perubahan konfigurasi lokalitas saat preferensi regional berubah.

Menggunakan formator dapat membantu mencocokkan pengalaman lokal. Misalnya, "0,5 in" dalam bahasa Inggris (Amerika Serikat), adalah "12,7 mm" untuk pengguna yang telah menyetel ponsel ke bahasa Inggris (Denmark) atau yang menggunakan ponsel dalam bahasa Inggris (Amerika Serikat) dengan sistem metrik sebagai preferensi sistem pengukuran.

Untuk menemukan setelan ini, buka aplikasi Setelan, lalu buka Sistem > Bahasa & wilayah.