Ringkasan Fitur dan API

Android 15 memperkenalkan fitur dan API baru yang hebat untuk para developer. Bagian berikut rangkum fitur tersebut untuk membantu Anda mulai menggunakan 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 akan ditandai agar lebih mudah dilihat. Selain itu, untuk mempelajari area mana saja dalam aplikasi Anda yang mungkin memengaruhi perubahan platform, pastikan untuk meninjau perubahan perilaku Android 15 yang memengaruhi aplikasi saat menargetkan Android 15 dan perubahan perilaku yang memengaruhi semua aplikasi, terlepas dari targetSdkVersion.

Kamera dan media

Android 15 menyertakan berbagai fitur yang meningkatkan pengalaman kamera dan media, serta memberi Anda akses ke alat dan hardware untuk mendukung kreator dalam mewujudkan visi mereka di Android.

Peningkatan Cahaya Rendah

Android 15 introduces Low Light Boost, a new auto-exposure mode available to both Camera 2 and the night mode camera extension. Low Light Boost adjusts the exposure of the Preview stream in low-light conditions. This is different from how the night mode camera extension creates still images, because night mode combines a burst of photos to create a single, enhanced image. While night mode works very well for creating a still image, it can't create a continuous stream of frames, but Low Light Boost can. Thus, Low Light Boost enables new camera capabilities, such as:

  • Providing an enhanced image preview, so users are better able to frame their low-light pictures
  • Scanning QR codes in low light

If you enable Low Light Boost, it automatically turns on when there's a low light level, and turns off when there's more light.

Apps can record off the Preview stream in low-light conditions to save a brightened video.

For more information, see Low Light Boost.

Kontrol kamera dalam aplikasi

Android 15 menambahkan ekstensi baru untuk kontrol yang lebih besar atas hardware kamera dan algoritmanya di perangkat yang didukung:

  • Penyesuaian kekuatan flash lanjutan memungkinkan kontrol intensitas flash yang akurat dalam mode SINGLE dan TORCH saat mengambil gambar.

Kontrol headroom HDR

Android 15 memilih headroom HDR yang sesuai untuk kemampuan perangkat dasar dan kedalaman bit panel. Untuk halaman yang memiliki banyak konten SDR, seperti aplikasi pesan yang menampilkan satu thumbnail HDR, perilaku ini dapat berpengaruh buruk pada kecerahan konten SDR yang dirasakan. Android 15 memungkinkan Anda mengontrol headroom HDR dengan setDesiredHdrHeadroom untuk mencapai keseimbangan antara konten SDR dan HDR.

Kecerahan elemen UI SDR di layar kiri tampak lebih seragam daripada kecerahan di layar kanan, yang menyimulasikan kemungkinan masalah headroom saat konten HDR dan SDR digabungkan. Dengan menyesuaikan headroom HDR, Anda dapat mencapai keseimbangan yang lebih baik antara konten SDR dan HDR.

Kontrol tingkat kebisingan

Android 15 memperkenalkan dukungan untuk standar kenyaringan CTA-2075 untuk membantu Anda menghindari inkonsistensi kenyaringan audio dan memastikan pengguna tidak perlu terus-menerus menyesuaikan volume saat beralih antar-konten. Sistem ini memanfaatkan karakteristik perangkat output yang diketahui (headphone dan speaker) beserta metadata kenyaringan yang tersedia dalam konten audio AAC untuk menyesuaikan kenyaringan audio dan tingkat kompresi rentang dinamis secara cerdas.

Untuk mengaktifkan fitur ini, Anda harus memastikan metadata kenyaringan tersedia di konten AAC dan mengaktifkan fitur platform di aplikasi Anda. Untuk itu, Anda membuat instance objek LoudnessCodecController dengan memanggil metode factory create-nya dengan ID sesi audio dari AudioTrack terkait; tindakan ini akan otomatis mulai menerapkan update audio. Anda dapat meneruskan OnLoudnessCodecUpdateListener untuk mengubah atau memfilter parameter kebisingan sebelum diterapkan pada MediaCodec.

// Media contains metadata of type MPEG_4 OR MPEG_D
val mediaCodec = …
val audioTrack = AudioTrack.Builder()
                                .setSessionId(sessionId)
                                .build()
...
// Create new loudness controller that applies the parameters to the MediaCodec
try {
   val lcController = LoudnessCodecController.create(mSessionId)
   // Starts applying audio updates for each added MediaCodec

AndroidX media3 ExoPlayer akan segera diupdate guna memanfaatkan API LoudnessCodecController untuk integrasi aplikasi yang lancar.

Perangkat MIDI 2.0 Virtual

Android 13 menambahkan dukungan untuk menghubungkan ke perangkat MIDI 2.0 menggunakan USB, yang berkomunikasi menggunakan Universal MIDI Packets (UMP). Android 15 memperluas dukungan UMP ke aplikasi MIDI virtual, sehingga aplikasi komposisi dapat mengontrol aplikasi synthesizer sebagai perangkat MIDI 2.0 virtual seperti yang dilakukan dengan perangkat USB MIDI 2.0.

Konektivitas

Android 15 mengupdate platform untuk memberi aplikasi Anda akses ke kemajuan komunikasi terbaru.

Dukungan satelit

Android 15 terus memperluas dukungan platform untuk konektivitas satelit dan menyertakan beberapa elemen UI untuk memastikan pengalaman pengguna yang konsisten di seluruh lanskap konektivitas satelit.

Aplikasi dapat menggunakan ServiceState.isUsingNonTerrestrialNetwork() untuk mendeteksi saat perangkat terhubung ke satelit, sehingga memberi aplikasi lebih banyak informasi mengapa layanan jaringan lengkap mungkin tidak tersedia. Selain itu, Android 15 menyediakan dukungan untuk aplikasi SMS dan MMS serta aplikasi RCS yang dimuat sebelumnya untuk menggunakan konektivitas satelit untuk mengirim dan menerima pesan.

Notifikasi akan muncul saat perangkat terhubung ke satelit.

Pengalaman NFC yang lebih lancar

Android 15 berupaya membuat pengalaman pembayaran nirsentuh lebih lancar dan andal, sekaligus terus mendukung ekosistem aplikasi NFC Android yang tangguh. Pada perangkat yang didukung, aplikasi dapat meminta NfcAdapter untuk masuk mode mengamati, tempat perangkat memproses tetapi tidak merespons pembaca NFC, sehingga mengirimkan objek PollingFrame layanan NFC aplikasi untuk diproses. Objek PollingFrame dapat digunakan untuk melakukan autentikasi sebelum komunikasi pertama ke pembaca NFC, yang memungkinkan transaksi sekali ketuk dalam banyak kasus.

Selain itu, aplikasi kini dapat mendaftarkan sidik jari di perangkat yang didukung sehingga dapat diberi tahu tentang aktivitas loop polling, yang memungkinkan operasi yang lancar dengan beberapa aplikasi yang mendukung NFC.

Peran Wallet

Android 15 memperkenalkan peran Wallet baru yang memungkinkan integrasi yang lebih erat dengan aplikasi dompet pilihan pengguna. Peran ini menggantikan setelan pembayaran tanpa kontak fisik default NFC. Pengguna dapat mengelola pemegang peran Wallet dengan membuka Setelan > Aplikasi > Aplikasi Default.

Peran Wallet digunakan saat merutekan ketukan NFC untuk AID yang terdaftar dalam kategori pembayaran. Ketukan selalu membuka pemegang peran Wallet, kecuali jika aplikasi lain yang terdaftar untuk AID yang sama berjalan di latar depan.

Peran ini juga digunakan untuk menentukan tempat kartu QuickAccess Wallet harus berada saat diaktifkan. Jika peran disetel ke "Tidak ada", kartu QuickAccess tidak akan tersedia dan ketukan NFC kategori pembayaran hanya akan dikirim ke aplikasi latar depan.

Alat dan produktivitas developer

Meskipun sebagian besar upaya kami untuk meningkatkan pusat produktivitas Anda seputar alat seperti library Android Studio, Jetpack Compose, dan Android Jetpack, kami selalu mencari cara di platform ini untuk membantu Anda mewujudkan visi dengan lebih mudah.

Penyempurnaan PDF

Pratinjau Developer 2 Android 15 menyertakan pratinjau awal peningkatan penting pada PdfRenderer API. Aplikasi dapat menggabungkan fitur lanjutan seperti rendering file yang dilindungi sandi, anotasi, pengeditan formulir, penelusuran, dan pemilihan dengan teks. Pengoptimalan PDF linear didukung untuk mempercepat tampilan PDF lokal dan mengurangi penggunaan resource.

Update terbaru untuk rendering PDF mencakup fitur seperti penelusuran file PDF tersemat.

PdfRenderer telah dipindahkan ke modul yang dapat diupdate menggunakan update sistem Google Play terlepas dari rilis platformnya, dan kami mendukung perubahan ini kembali ke Android 11 (level API 30) dengan membuat platform API pra-Android 15 yang kompatibel, yang disebut PdfRendererPreV.

Kami menghargai masukan Anda tentang peningkatan yang telah kami lakukan pada platform API PdfRenderer, dan kami berencana untuk mempermudah penggabungan API ini ke dalam aplikasi Anda dengan library Android Jetpack mendatang.

Peningkatan kualitas pengalihan bahasa otomatis

Android 14 menambahkan pengenalan multibahasa di perangkat dengan peralihan otomatis antar-bahasa, tetapi hal ini dapat menyebabkan kata dihapus, terutama saat bahasa beralih dengan lebih sedikit jeda di antara kedua ucapan. Android 15 menambahkan kontrol tambahan untuk membantu aplikasi menyesuaikan peralihan ini ke kasus penggunaannya. EXTRA_LANGUAGE_SWITCH_INITIAL_ACTIVE_DURATION_TIME_MILLIS membatasi pengalihan otomatis ke awal sesi audio, sedangkan EXTRA_LANGUAGE_SWITCH_MATCH_SWITCHES menonaktifkan pengalihan bahasa setelah sejumlah tombol yang ditentukan. Opsi ini sangat berguna jika Anda mengharapkan bahwa akan ada satu bahasa yang diucapkan selama sesi yang harus terdeteksi otomatis.

Kontrol jeda baris terperinci

Starting in Android 15, a TextView and the underlying line breaker can preserve the given portion of text in the same line to improve readability. You can take advantage of this line break customization by using the <nobreak> tag in string resources or createNoBreakSpan. Similarly, you can preserve words from hyphenation by using the <nohyphen> tag or createNoHyphenationSpan.

For example, the following string resource doesn't include a line break, and renders with the text "Pixel 8 Pro." breaking in an undesirable place:

<resources>
    <string name="pixel8pro">The power and brains behind Pixel 8 Pro.</string>
</resources>

In contrast, this string resource includes the <nobreak> tag, which wraps the phrase "Pixel 8 Pro." and prevents line breaks:

<resources>
    <string name="pixel8pro">The power and brains behind <nobreak>Pixel 8 Pro.</nobreak></string>
</resources>

The difference in how these strings are rendered is shown in the following images:

Layout for a line of text where the phrase "Pixel 8 Pro." isn't wrapped using a <nobreak> tag.
Layout for the same line of text where the phrase "Pixel 8 Pro." is wrapped using a <nobreak> tag.

Update OpenJDK 17

Android 15 melanjutkan pekerjaan memuat ulang library inti Android agar selaras dengan fitur dalam rilis OpenJDK LTS terbaru.

Fitur dan peningkatan utama berikut disertakan:

API ini diupdate di lebih dari satu miliar perangkat yang menjalankan Android 12 (API level 31) dan yang lebih baru melalui update Sistem Google Play, sehingga Anda dapat menargetkan fitur pemrograman terbaru.

Pengarsipan aplikasi

Android dan Google Play mengumumkan dukungan untuk pengarsipan aplikasi tahun lalu, yang memungkinkan pengguna mengosongkan ruang dengan menghapus sebagian aplikasi yang jarang digunakan dari perangkat yang dipublikasikan menggunakan Android App Bundle di Google Play. Android 15 kini menyertakan dukungan tingkat OS untuk pengarsipan dan pembatalan pengarsipan aplikasi sehingga memudahkan semua app store menerapkannya.

Aplikasi dengan izin REQUEST_DELETE_PACKAGES dapat memanggil metode PackageInstaller requestArchive untuk meminta pengarsipan paket aplikasi terinstal, yang menghapus APK dan file apa pun yang di-cache, tetapi mempertahankan data pengguna. Aplikasi yang diarsipkan ditampilkan sebagai aplikasi yang dapat ditampilkan melalui LauncherApps API; pengguna akan melihat perlakuan UI untuk menyoroti bahwa aplikasi tersebut telah diarsipkan. Jika pengguna mengetuk aplikasi yang diarsipkan, penginstal yang bertanggung jawab akan mendapatkan permintaan untuk membatalkan pengarsipan aplikasi tersebut, dan proses pemulihan dapat dipantau oleh siaran ACTION_PACKAGE_ADDED.

Aksesibilitas

Android 15 menambahkan fitur yang meningkatkan aksesibilitas bagi pengguna.

Braille yang Lebih Baik

Di Android 15, kami telah memungkinkan TalkBack mendukung layar Braille yang menggunakan standar HID melalui USB dan Bluetooth yang aman.

Standar ini, seperti yang digunakan oleh mouse dan keyboard, akan membantu Android mendukung lebih banyak layar Braille dari waktu ke waktu.

Perangkat layar besar dan faktor bentuk

Android 15 memberi aplikasi Anda dukungan untuk mengoptimalkan faktor bentuk Android, termasuk perangkat layar besar, perangkat foldable, dan perangkat foldable.

Dukungan layar penutup

Aplikasi Anda dapat mendeklarasikan properti yang digunakan Android 15 untuk memungkinkan Application atau Activity ditampilkan di layar penutup kecil pada perangkat foldable yang didukung. Layar ini terlalu kecil untuk dianggap sebagai target kompatibel untuk menjalankan aplikasi Android, tetapi aplikasi Anda dapat memilih untuk mendukungnya, sehingga aplikasi tersedia di lebih banyak tempat.

Performa dan baterai

Android melanjutkan fokusnya untuk membantu meningkatkan performa dan kualitas aplikasi Anda. Android 15 memperkenalkan API baru yang membantu membuat tugas di aplikasi Anda lebih efisien untuk menjalankan, mengoptimalkan performa aplikasi, dan mengumpulkan insight tentang aplikasi Anda.

API ApplicationStartInfo

In previous versions of Android, app startup has been a bit of a mystery. It was challenging to determine within your app whether it started from a cold, warm, or hot state. It was also difficult to know how long your app spent during the various launch phases: forking the process, calling onCreate, drawing the first frame, and more. When your Application class was instantiated, you had no way of knowing whether the app started from a broadcast, a content provider, a job, a backup, boot complete, an alarm, or an Activity.

The ApplicationStartInfo API on Android 15 provides all of this and more. You can even choose to add your own timestamps into the flow to help collect timing data in one place. In addition to collecting metrics, you can use ApplicationStartInfo to help directly optimize app startup; for example, you can eliminate the costly instantiation of UI-related libraries within your Application class when your app is starting up due to a broadcast.

Informasi ukuran aplikasi yang mendetail

Sejak Android 8.0 (level API 26), Android telah menyertakan StorageStats.getAppBytes API yang merangkum ukuran aplikasi yang diinstal sebagai satu jumlah byte, yang merupakan jumlah ukuran APK, ukuran file yang diekstrak dari APK, dan file yang dihasilkan di perangkat seperti kode yang dikompilasi di awal (AOT). Jumlah ini tidak terlalu memiliki gambaran terkait cara aplikasi Anda menggunakan penyimpanan.

Android 15 menambahkan StorageStats.getAppBytesByDataType([type]) API, yang memungkinkan Anda mendapatkan insight tentang bagaimana aplikasi menggunakan semua ruang penyimpanan tersebut, termasuk pemisahan file APK, AOT dan kode terkait percepatan, metadata dex, library, serta profil yang dipandu.

Pembuatan profil yang dikelola aplikasi

Android 15 menyertakan class ProfilingManager yang baru, yang memungkinkan Anda mengumpulkan informasi pembuatan profil dari dalam aplikasi. Kami berencana menggabungkan ini dengan Android Jetpack API yang akan menyederhanakan pembuatan permintaan pembuatan profil, tetapi API inti akan memungkinkan pengumpulan heap dump, profil heap, pengambilan sampel stack, dan lainnya. Fungsi ini memberikan callback ke aplikasi Anda dengan tag yang disediakan untuk mengidentifikasi file output, yang dikirim ke direktori file aplikasi. API melakukan pembatasan kapasitas untuk meminimalkan dampak performa.

Peningkatan database SQLite

Android 15 introduces new SQLite APIs that expose advanced features from the underlying SQLite engine that target specific performance issues that can manifest in apps.

Developers should consult best practices for SQLite performance to get the most out of their SQLite database, especially when working with large databases or when running latency-sensitive queries.

  • Read-only deferred transactions: when issuing transactions that are read-only (don't include write statements), use beginTransactionReadOnly() and beginTransactionWithListenerReadOnly(SQLiteTransactionListener) to issue read-only DEFERRED transactions. Such transactions can run concurrently with each other, and if the database is in WAL mode, they can run concurrently with IMMEDIATE or EXCLUSIVE transactions.
  • Row counts and IDs: new APIs were added to retrieve the count of changed rows or the last inserted row ID without issuing an additional query. getLastChangedRowCount() returns the number of rows that were inserted, updated, or deleted by the most recent SQL statement within the current transaction, while getTotalChangedRowCount() returns the count on the current connection. getLastInsertRowId() returns the rowid of the last row to be inserted on the current connection.
  • Raw statements: issue a raw SQlite statement, bypassing convenience wrappers and any additional processing overhead that they may incur.

Update Android Dynamic Performance Framework

Android 15 melanjutkan investasi kami dalam Android Dynamic Performance Framework (ADPF), sekumpulan API yang memungkinkan game dan aplikasi dengan performa intensif untuk berinteraksi lebih langsung dengan sistem termal dan daya perangkat Android. Pada perangkat yang didukung, Android 15 akan menambahkan kemampuan ADPF baru:

  • Mode efisiensi daya untuk sesi petunjuk guna menunjukkan bahwa thread yang terkait lebih mengutamakan penghematan daya daripada performa, bagus untuk workload latar belakang yang berjalan lama.
  • Durasi kerja GPU dan CPU dapat dilaporkan dalam sesi petunjuk, sehingga sistem dapat menyesuaikan frekuensi CPU dan GPU secara bersamaan agar dapat memenuhi permintaan workload sebaik mungkin.
  • Batas headroom termal untuk menafsirkan kemungkinan status throttling termal berdasarkan prediksi headroom.

Untuk mempelajari lebih lanjut cara menggunakan ADPF di aplikasi dan game Anda, buka dokumentasinya.

Privasi

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

Deteksi perekaman layar

Android 15 menambahkan dukungan untuk aplikasi untuk mendeteksi bahwa aplikasi sedang direkam. Callback dipanggil setiap kali aplikasi bertransisi antara terlihat atau tidak terlihat dalam perekaman layar. Aplikasi dianggap terlihat jika aktivitas yang dimiliki oleh UID proses pendaftaran direkam. Dengan demikian, jika aplikasi menjalankan operasi sensitif, Anda dapat memberi tahu pengguna bahwa mereka sedang direkam.

val mCallback = Consumer<Int> { state ->
  if (state == SCREEN_RECORDING_STATE_VISIBLE) {
    // We're being recorded
  } else {
    // We're not being recorded
  }
}

override fun onStart() {
   super.onStart()
   val initialState =
      windowManager.addScreenRecordingCallback(mainExecutor, mCallback)
   mCallback.accept(initialState)
}

override fun onStop() {
    super.onStop()
    windowManager.removeScreenRecordingCallback(mCallback)
}

Kemampuan IntentFilter yang diperluas

Android 15 dibuat untuk mendukung resolusi Intent yang lebih tepat melalui UriRelativeFilterGroup, yang berisi kumpulan objek UriRelativeFilter yang membentuk kumpulan aturan pencocokan Intent yang masing-masing harus dipenuhi, termasuk parameter kueri URL, fragmen URL, dan aturan pemblokiran atau pengecualian.

Aturan ini dapat ditentukan dalam file XML AndroidManifest dengan tag <uri-relative-filter-group> baru, yang secara opsional dapat menyertakan tag android:allow. Tag ini dapat berisi tag <data> yang menggunakan atribut tag data yang ada serta atribut android:query dan android:fragment baru.

Berikut adalah contoh sintaksis AndroidManifest:

<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.BROWSABLE" />
  <data android:scheme="http" />
  <data android:scheme="https" />
  <data android:domain="astore.com" />
  <uri-relative-filter-group>
    <data android:pathPrefix="/auth" />
    <data android:query="region=na" />
  </uri-relative-filter-group>
  <uri-relative-filter-group android:allow="false">
    <data android:pathPrefix="/auth" />
    <data android:query="mobileoptout=true" />
  </uri-relative-filter-group>
  <uri-relative-filter-group android:allow="false">
    <data android:pathPrefix="/auth" />
    <data android:fragmentPrefix="faq" />
  </uri-relative-filter-group>
</intent-filter>

Privacy Sandbox di Android

Android 15 menghadirkan Layanan Iklan Android ke level ekstensi 10, dengan menyertakan versi terbaru Privacy Sandbox di Android, bagian dari upaya kami untuk mengembangkan teknologi baru yang meningkatkan privasi pengguna dan memungkinkan pengalaman iklan yang dipersonalisasi yang efektif untuk aplikasi seluler. Halaman sandbox privasi kami memiliki informasi selengkapnya tentang Privacy Sandbox di pratinjau developer Android dan program beta untuk membantu Anda memulai.

Health Connect

Android 15 mengintegrasikan ekstensi Android 14 10 seputar Health Connect dari Android, platform yang aman dan terpusat untuk mengelola serta membagikan data kesehatan dan kebugaran yang dikumpulkan aplikasi. Update ini menambahkan dukungan untuk jenis data baru di seluruh kebugaran, nutrisi, dan lainnya.

Berbagi layar sebagian

Android 15 mendukung berbagi layar sebagian sehingga pengguna dapat membagikan atau merekam hanya jendela aplikasi, bukan seluruh layar perangkat. Fitur ini, pertama kali diaktifkan di Android 14 QPR2, mencakup callback MediaProjection yang memungkinkan aplikasi Anda menyesuaikan pengalaman berbagi layar sebagian. Perhatikan bahwa untuk aplikasi yang menargetkan Android 14 (level API 34) atau yang lebih tinggi, izin pengguna sekarang diperlukan untuk setiap sesi pengambilan MediaProjection.

Keamanan

Android 15 membantu Anda meningkatkan keamanan aplikasi dan melindungi data aplikasi Anda.

Pengelolaan kunci untuk enkripsi end-to-end

Kami memperkenalkan E2eeContactKeysManager di Android 15, yang memfasilitasi enkripsi menyeluruh (E2EE) di aplikasi Android Anda dengan menyediakan API level OS untuk penyimpanan kunci publik kriptografis.

E2eeContactKeysManager dirancang untuk berintegrasi dengan aplikasi kontak platform guna memberi pengguna cara terpusat untuk mengelola dan memverifikasi kunci publik kontak mereka.

Melindungi file menggunakan fs-verity

Pengalaman pengguna

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

Peningkatan aturan Jangan Ganggu

AutomaticZenRule lets apps customize Attention Management (Do Not Disturb) rules and decide when to activate or deactivate them. Android 15 greatly enhances these rules with the goal of improving the user experience. The following enhancements are included:

  • Adding types to AutomaticZenRule, allowing the system to apply special treatment to some rules.
  • Adding an icon to AutomaticZenRule, helping to make the modes be more recognizable.
  • Adding a triggerDescription string to AutomaticZenRule that describes the conditions on which the rule should become active for the user.
  • Added ZenDeviceEffects to AutomaticZenRule, allowing rules to trigger things like grayscale display, night mode, or dimming the wallpaper.

Internasionalisasi

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

Justifikasi antar-karakter

Mulai Android 15, teks dapat diratakan menggunakan spasi huruf menggunakan JUSTIFICATION_MODE_INTER_CHARACTER. Justifikasi antarkata pertama kali diperkenalkan di Android 8.0 (API level 26), dan justifikasi antar-karakter memberikan kemampuan serupa untuk bahasa yang menggunakan karakter spasi kosong untuk segmentasi, seperti China, Jepang, dan lainnya.

Tata letak untuk teks Jepang menggunakan JUSTIFICATION_MODE_NONE.
Tata letak untuk teks bahasa Inggris menggunakan JUSTIFICATION_MODE_NONE.


Tata letak untuk teks Jepang menggunakan JUSTIFICATION_MODE_INTER_WORD.
Tata letak untuk teks bahasa Inggris menggunakan JUSTIFICATION_MODE_INTER_WORD.


Tata letak untuk teks Jepang menggunakan JUSTIFICATION_MODE_INTER_CHARACTER baru.
Tata letak untuk teks bahasa Inggris menggunakan JUSTIFICATION_MODE_INTER_CHARACTER baru.