Android 13 memperkenalkan fitur dan API baru yang hebat untuk para developer. Bagian di bawah ini membantu Anda mempelajari fitur-fitur yang tersedia untuk aplikasi Anda, serta mulai menggunakan API yang terkait.
Untuk melihat daftar mendetail tentang API yang baru, diubah, dan dihapus, baca laporan perbedaan API. Untuk mengetahui detail tentang API baru, kunjungi referensi API Android — API baru ditandai agar lebih mudah dilihat. Selain itu, untuk mempelajari area mana saja dalam aplikasi Anda yang dapat terpengaruh oleh perubahan, baca tentang perubahan perilaku Android 13 untuk aplikasi yang menargetkan Android 13 dan untuk semua aplikasi.
Produktivitas developer
UI salin dan tempel baru
Mulai dari Android 13, sistem akan menampilkan konfirmasi visual standar saat konten ditambahkan ke papan klip. Konfirmasi baru akan melakukan hal berikut:
- Mengonfirmasi bahwa konten berhasil disalin.
- Memberikan pratinjau konten yang disalin.
Fitur ini menstandarkan berbagai notifikasi yang ditampilkan oleh aplikasi setelah menyalin dan menawarkan pengguna kontrol lebih atas papan klip. Untuk informasi tambahan, buka halaman fitur Salin dan Tempel.

Gestur kembali prediktif
Android 13 memperkenalkan gestur kembali prediktif untuk perangkat Android seperti ponsel, perangkat layar besar, dan perangkat foldable. Untuk mendukung fitur ini, Anda harus mengupdate aplikasi.
Untuk melihat dokumentasi lengkap, lihat Mengupdate aplikasi untuk mendukung gestur kembali prediktif. Anda juga dapat mencoba codelab kami.
Ikon aplikasi bertema

Mulai Android 13, pengguna dapat memilih untuk ikut serta dalam ikon aplikasi bertema. Dengan fitur ini, ikon aplikasi di peluncur Android yang didukung akan diberi warna untuk mewarisi warna wallpaper yang dipilih pengguna dan tema lainnya.
Untuk mendukung fitur ini, aplikasi Anda harus menyediakan
ikon adaptif dan
ikon aplikasi monokromatik, serta mengarah ke ikon aplikasi monokromatik dari
elemen <adaptive-icon>
di manifes. Jika pengguna telah mengaktifkan ikon aplikasi
bertema (dengan kata lain, mengaktifkan tombol ikon Bertema di setelan sistem),
dan peluncur mendukung fitur ini, sistem akan menggunakan warna pada wallpaper dan tema
yang dipilih pengguna untuk menentukan warna tint, yang kemudian
akan berlaku untuk ikon aplikasi monokromatik.
Layar utama TIDAK menampilkan ikon aplikasi bertema—dan sebagai gantinya menampilkan ikon aplikasi adaptif atau standar—dalam salah satu skenario berikut:
- Jika pengguna belum mengaktifkan ikon aplikasi bertema
- Jika aplikasi Anda tidak menyediakan ikon aplikasi monokromatik
- Jika peluncur tidak mendukung ikon aplikasi bertema
Spesifikasi
Ikon aplikasi monokromatik harus memenuhi spesifikasi berikut:
- Ikon harus berupa
VectorDrawable
. - Sebaiknya logo pas dalam area 44 x 44 dp di dalam penampung 108 x 108 dp. Jika logo harus lebih besar, maksimum 72 x 72 dp.
- Kami menyarankan logo datar; jika logo Anda adalah tiga dimensi, Anda dapat menggunakan gradien alfa.
Anda dapat mengarahkan atribut monokrom ke VectorDrawable
sama yang digunakan oleh lapisan latar depan ikon aplikasi adaptif, atau menggunakan kembali vektor drawable yang digunakan untuk notifikasi.
Contoh berikut menunjukkan ikon aplikasi monokromatik untuk aplikasi Google, dengan garis putus-putus yang mewakili batas antara area logo dan penampung. Batas ini ditampilkan di sini hanya untuk ilustrasi dan tidak berskala.

1 Area penampung (108 x 108 dp).
2 Area logo (direkomendasikan 44 x 44 dp, maksimum 72 x 72 dp).
Mengimplementasikan ikon aplikasi bertema
Tambahkan atribut monochrome android:drawable
ke elemen <adaptive-icon>
.
Misalnya, dalam res/mipmap-anydpi-v26/ic_launcher.xml
:
<adaptive-icon >
<background android:drawable="..." />
<foreground android:drawable="..." />
<monochrome android:drawable="@drawable/myicon" />
</adaptive-icon>
Dalam file manifes, tentukan ikon menggunakan android:icon
:
<application
…
android:icon="@mipmap/ic_launcher"
…>
</application>
API penempatan Setelan Cepat
Setelan Cepat di menu notifikasi adalah cara praktis bagi pengguna untuk mengubah setelan atau mengambil tindakan cepat tanpa meninggalkan konteks aplikasi. Untuk aplikasi yang menyediakan kartu kustom, kami mempermudah pengguna untuk menemukan dan menambahkan kartu Anda ke Setelan Cepat. Dengan menggunakan API penempatan kartu yang baru, aplikasi Anda kini dapat meminta pengguna untuk langsung menambahkan kartu kustom ke kumpulan kotak Setelan Cepat yang aktif. Dialog sistem baru memungkinkan pengguna menambahkan kartu dalam satu langkah, tanpa keluar dari aplikasi Anda, tanpa harus membuka Setelan Cepat untuk menambahkan kartu.
Dukungan yang lebih baik untuk pengguna multibahasa
Android 13 memperkenalkan beberapa fitur untuk meningkatkan pengalaman aplikasi bagi pengguna multibahasa, yang dijelaskan di bagian berikut:
Preferensi bahasa per aplikasi
Dalam banyak kasus, pengguna multibahasa menyetel bahasa sistemnya ke satu bahasa, seperti bahasa Inggris, tetapi mereka ingin memilih bahasa lain untuk aplikasi tertentu, seperti Belanda, Mandarin, atau Hindi. Untuk membantu aplikasi memberikan pengalaman yang lebih baik bagi pengguna ini, Android 13 memperkenalkan fitur berikut untuk aplikasi yang mendukung beberapa bahasa:
Setelan sistem yang memungkinkan pengguna memilih bahasa pilihan untuk setiap aplikasi di lokasi terpusat.
Aplikasi harus mendeklarasikan atribut
android:localeConfig
dalam manifes aplikasi untuk memberi tahu sistem bahwa sistem mendukung beberapa bahasa. Untuk mempelajari lebih lanjut, lihat petunjuk untuk membuat file resource dan mendeklarasikannya di file manifes aplikasi.API yang memungkinkan aplikasi untuk menyetel bahasa lain saat runtime untuk digunakan di antarmuka pengguna.
Aplikasi yang menggunakan alat pilih bahasa kustom dalam aplikasi harus menggunakan API baru ini untuk memastikan bahwa pengguna memiliki pengalaman pengguna yang konsisten, di mana pun mereka memilih preferensi bahasa mereka. API baru ini tidak hanya membantu Anda mengurangi jumlah kode boilerplate, tetapi juga mendukung APK terpisah dan Auto Backup untuk Aplikasi untuk menyimpan setelan bahasa pengguna tingkat aplikasi.
Untuk kompatibilitas mundur dengan versi Android sebelumnya, API juga tersedia di AndroidX. Sebaiknya gunakan Appcompat 1.6.0-alpha03 atau versi lebih tinggi.
Untuk mempelajari lebih lanjut, lihat petunjuk untuk menerapkan API baru.
Penggabungan teks bahasa Jepang yang ditingkatkan
TextView kini dapat menggabungkan teks menurut Bunsetsu (unit kata terkecil yang terdengar
alami) atau frasa (bukan menurut karakter) untuk aplikasi bahasa Jepang yang
lebih rapi dan dapat dibaca. Anda dapat memanfaatkan penggabungan ini menggunakan
android:lineBreakWordStyle="phrase"
dengan TextView.

Tinggi baris yang ditingkatkan untuk skrip non-latin
Android 13 meningkatkan tampilan skrip non-Latin (seperti Tamil, Burma, Telugu, dan Tibet) dengan menggunakan tinggi baris yang disesuaikan untuk setiap bahasa. Tinggi baris yang baru mencegah karakter terpotong dan memperbaiki posisinya. Aplikasi Anda dapat memanfaatkan peningkatan ini hanya dengan menargetkan Android 13. Pastikan untuk menguji aplikasi Anda saat menggunakan spasi baris baru karena perubahan tersebut dapat memengaruhi UI Anda dalam bahasa non-Latin.

API Konversi Teks
Orang-orang yang berbicara dalam bahasa seperti Jepang dan China menggunakan metode input penulisan fonetik, yang sering kali memperlambat penelusuran dan fitur seperti pelengkapan otomatis. Di Android 13, aplikasi dapat memanggil API konversi teks yang baru agar pengguna dapat menemukan apa yang mereka cari dengan lebih cepat dan lebih mudah. Sebelumnya, misalnya, penelusuran mengharuskan pengguna berbahasa Jepang untuk melakukan langkah-langkah ini:
- Memasukkan Hiragana sebagai pengucapan fonetik istilah penelusuran mereka (seperti tempat atau nama aplikasi)
- Menggunakan keyboard untuk mengonversi karakter Hiragana menjadi Kanji
- Menelusuri ulang menggunakan karakter Kanji
- Terakhir, mendapatkan hasil penelusuran mereka
Dengan API konversi teks baru, pengguna berbahasa Jepang dapat mengetik karakter Hiragana dan langsung melihat hasil penelusuran Kanji secara langsung, serta melewati langkah 2 dan 3.
Update library Unicode
Android 13 menambahkan peningkatan (kualitas), perbaikan, dan perubahan terbaru yang disertakan dalam Unicode ICU 70, Unicode CLDR 40, dan Unicode 14.0.
Berikut adalah beberapa perubahan penting:
- Inggris (Kanada)
en‑CA
dan Inggris (Republik Filipina)en‑PH
sama-sama menggunakan referensi terjemahan bahasa Inggris (Amerika Serikat)en
jika tidak ada referensi terjemahan yang tersedia selain bahasa Inggris (Inggris Raya)en‑GB
. - Kategori jamak
many
telah diperkenalkan untuk bahasa Spanyoles
, Italiait
, Portugispt
, dan Portugis (Portugal)pt‑PT
. Serupa dengan bahasa Prancis yang diperkenalkan dalam CLDR v38, ini digunakan untuk jumlah yang besar.
Tanda hubung yang lebih cepat
Tanda hubung membuat teks yang digabungkan lebih mudah dibaca dan membantu membuat UI Anda lebih
adaptif. Di Android 13, kami telah mengoptimalkan performa tanda hubung sebesar
200% sehingga Anda sekarang dapat mengaktifkannya di TextView
tanpa memengaruhi
performa rendering. Untuk memungkinkan penggunaan tanda hubung yang lebih cepat, gunakan frekuensi
fullFast
atau normalFast
baru di setHyphenationFrequency()
.
Font vektor warna

Android 13 menambahkan dukungan rendering untuk font COLR versi 1 (COLRv1) dan mengupdate emoji sistem ke format COLRv1. COLRv1 adalah format font baru dan sangat rapat yang dirender dengan cepat dan jelas pada berbagai ukuran.
Untuk sebagian besar aplikasi, sistem menangani semuanya dan COLRv1 berfungsi dengan baik. Namun, jika aplikasi Anda menerapkan rendering teksnya sendiri dan menggunakan font sistem, sebaiknya pengujian rendering emoji dilakukan.
Untuk mempelajari COLRv1 lebih lanjut, lihat referensi berikut.
- Pengumuman blog Developer Chrome
- Pengiriman Font Vektor Warna COLRv1 di Chrome (Video)
- Spesifikasi tabel COLR
Audio LE Bluetooth
Audio Hemat Energi (LE) adalah audio nirkabel generasi berikutnya yang dibuat untuk menggantikan Bluetooth klasik, dan memungkinkan kasus penggunaan serta topologi koneksi baru. Dengan begitu, pengguna dapat berbagi dan menyiarkan audionya ke teman dan keluarga, atau berlangganan siaran publik untuk mendapatkan informasi, hiburan, atau aksesibilitas. Fitur ini dirancang untuk memastikan bahwa pengguna dapat menerima audio high fidelity tanpa mengorbankan masa pakai baterai dan dapat beralih dengan lancar di antara berbagai kasus penggunaan yang tidak mungkin dilakukan dengan Bluetooth Klasik. Android 13 menambahkan dukungan bawaan untuk Audio LE, sehingga developer mendapatkan kemampuan baru secara gratis di perangkat yang kompatibel.
MIDI 2.0
Android 13 menambahkan dukungan untuk standar MIDI 2.0 baru, termasuk kemampuan untuk menghubungkan hardware MIDI 2.0 melalui USB. Standar terbaru ini menawarkan fitur seperti peningkatan resolusi untuk pengontrol, dukungan yang lebih baik untuk intonasi non-Barat, dan performa yang lebih ekspresif menggunakan pengontrol per catatan.
Privasi dan keamanan
Mengekspor penerima yang terdaftar dalam konteks dengan lebih aman
Untuk membantu membuat penerima runtime lebih aman, Android 13 memungkinkan Anda untuk menentukan apakah penerima siaran tertentu di aplikasi Anda harus diekspor dan terlihat oleh aplikasi lain di perangkat. Jika penerima siaran diekspor, aplikasi lain dapat mengirim siaran yang tidak dilindungi ke aplikasi Anda. Konfigurasi ekspor ini, yang tersedia di aplikasi yang menargetkan Android 13 atau yang lebih tinggi, dapat membantu mencegah timbulnya salah satu sumber utama kerentanan aplikasi.
Pada versi Android sebelumnya, aplikasi apa pun di perangkat dapat mengirim siaran yang tidak dilindungi ke penerima yang terdaftar secara dinamis, kecuali penerima tersebut dilindungi dengan izin tanda tangan.
Untuk menerapkan langkah peningkatan keamanan ini, lakukan langkah berikut:
- Aktifkan
perubahan
framework kompatibilitas
DYNAMIC_RECEIVER_EXPLICIT_EXPORT_REQUIRED
. Di setiap penerima siaran aplikasi Anda, tunjukkan secara eksplisit apakah aplikasi lain dapat mengirim siaran ke aplikasi tersebut, seperti yang ditampilkan dalam cuplikan kode berikut:
Kotlin
// This broadcast receiver should be able to receive broadcasts from other apps. // This option causes the same behavior as setting the broadcast receiver's // "exported" attribute to true in your app's manifest. context.registerReceiver(sharedBroadcastReceiver, intentFilter, RECEIVER_EXPORTED) // For app safety reasons, this private broadcast receiver should **NOT** // be able to receive broadcasts from other apps. context.registerReceiver(privateBroadcastReceiver, intentFilter, RECEIVER_NOT_EXPORTED)
Java
// This broadcast receiver should be able to receive broadcasts from other apps. // This option causes the same behavior as setting the broadcast receiver's // "exported" attribute to true in your app's manifest. context.registerReceiver(sharedBroadcastReceiver, intentFilter, RECEIVER_EXPORTED); // For app safety reasons, this private broadcast receiver should **NOT** // be able to receive broadcasts from other apps. context.registerReceiver(privateBroadcastReceiver, intentFilter, RECEIVER_NOT_EXPORTED);
Pemilih foto
Android 13 (API level 33) menyertakan pengalaman pemilih foto baru. Saat aplikasi meluncurkan pemilih foto, pengguna memilih gambar dan video tertentu untuk dibagikan dengan aplikasi Anda, seperti foto profil, bukan memberi aplikasi Anda akses untuk melihat seluruh library media.
Alat pilih foto memberikan privasi yang ditingkatkan (kualitasnya) bagi pengguna karena aplikasi Anda tidak perlu mendeklarasikan izin runtime apa pun. Selain itu, alat pilih foto menyediakan UI standar bawaan untuk aplikasi, yang menciptakan pengalaman pengguna yang lebih konsisten.
Izin runtime baru untuk perangkat Wi-Fi di sekitar
Android 13 (API level 33) memperkenalkan
izin runtime baru di
grup izin NEARBY_DEVICES
untuk aplikasi yang mengelola koneksi perangkat ke
titik akses terdekat melalui Wi-Fi. Aplikasi ini harus mendeklarasikan izin baru,
NEARBY_WIFI_DEVICES
,
saat
memanggil beberapa API Wi-Fi yang berbeda.
Selain itu, selama aplikasi tidak memperoleh lokasi fisik dari API
Wi-Fi, aplikasi tidak perlu mendeklarasikan izin
ACCESS_FINE_LOCATION
saat menargetkan Android 13 atau yang lebih tinggi.
Pelajari izin perangkat Wi-Fi di sekitar lebih lanjut.
Izin baru untuk menggunakan alarm yang tepat
Jika aplikasi menargetkan Android 13, Anda dapat menggunakan
izin
USE_EXACT_ALARM
yang secara otomatis diberikan ke aplikasi. Namun, agar aplikasi Anda
dapat menggunakan izin ini, aplikasi harus memenuhi setidaknya salah satu
kriteria berikut:
- Aplikasi Anda adalah aplikasi jam alarm atau aplikasi timer.
- Aplikasi Anda adalah aplikasi kalender yang menampilkan notifikasi untuk acara mendatang.
Jika aplikasi Anda menyetel alarm yang tepat, tetapi tidak memenuhi salah satu kasus yang ditampilkan dalam
daftar sebelumnya, lanjutkan untuk mendeklarasikan
izin
SCHEDULE_EXACT_ALARM
, dan persiapkan diri menghadapi situasi saat pengguna menolak
akses ke aplikasi Anda.
Izin developer yang dapat didowngrade
Mulai Android 13, aplikasi Anda dapat mencabut akses ke izin runtime yang sebelumnya diberikan oleh sistem atau pengguna. API ini memungkinkan aplikasi melakukan tugas-tugas yang meningkatkan privasi seperti berikut:
- Menghapus izin yang tidak digunakan.
- Mematuhi praktik terbaik izin yang akan meningkatkan kepercayaan pengguna. Sebaiknya Anda mempertimbangkan untuk menampilkan dialog kepada pengguna yang menampilkan izin yang telah dicabut secara proaktif.
Untuk mencabut izin runtime tertentu, teruskan nama izin tersebut
ke
revokeSelfPermissionOnKill()
.
Untuk mencabut sekelompok izin runtime secara bersamaan, teruskan kumpulan
nama izin ke
revokeSelfPermissionsOnKill()
.
Pencabutan terjadi secara asinkron dan menghentikan semua proses yang terkait dengan
UID aplikasi Anda.
Agar sistem dapat mencabut izin, semua proses yang terkait dengan aplikasi Anda harus dihentikan. Saat Anda memanggil API, sistem akan menentukan kapan waktu yang aman untuk menghentikan proses ini. Biasanya, sistem akan menunggu hingga aplikasi Anda menghabiskan banyak waktu untuk berjalan di latar belakang, bukan di latar depan.
Untuk segera mencabut izin, aplikasi Anda harus menghentikan semua proses terkait secara manual. Kami tidak merekomendasikannya. karena tindakan ini menciptakan pengalaman pengguna yang tidak diinginkan.
Untuk memberi tahu pengguna bahwa izin aplikasi Anda dicabut, tampilkan dialog saat pengguna meluncurkan aplikasi lagi. Dialog ini dapat menyertakan daftar izin yang dicabut.
APK Signature Scheme v3.1
Android 13 menambahkan dukungan untuk APK Signature Scheme v3.1, yang meningkatkan APK Signature Scheme v3 yang sudah ada. Skema ini membahas beberapa masalah umum pada APK Signature Scheme v3 terkait rotasi. Secara khusus, skema tanda tangan v3.1 memungkinkan aplikasi untuk mendukung penanda tangan asli dan dirotasi dalam satu APK. Skema tanda tangan v3.1 juga mendukung penargetan versi SDK, yang memungkinkan rotasi untuk menargetkan rilis platform selanjutnya.
Skema tanda tangan v3.1 menggunakan ID blok baru yang tidak dikenali pada 12L atau yang lebih rendah. Oleh karena itu, platform ini menerapkan perilaku penanda tangan berikut ini:
- Perangkat yang menjalankan Android 13 menggunakan penanda tangan yang dirotasi di blok v3.1.
- Perangkat yang menjalankan versi Android yang lebih lama mengabaikan penanda tangan yang dirotasi dan menggunakan penanda tangan asli dalam blok v3.0.
Aplikasi yang belum merotasi kunci penandatanganannya tidak memerlukan tindakan tambahan. Setiap kali aplikasi ini memilih untuk merotasi, sistem akan menerapkan skema tanda tangan v3.1 yang baru secara default.
Aplikasi yang telah merotasi dan ingin terus menggunakan kunci penandatanganan
yang dirotasi di blok penandatanganan v3.0 perlu mengupdate
pemanggilan
apksigner
:
apksigner sign --ks keystore.jks | --key key.pk8 --cert cert.x509.pem --rotation-min-sdk-version API_LEVEL [signer_options] app-name.apk
...dengan API_LEVEL
adalah 32 atau lebih rendah.
Pelaporan error yang lebih baik di Keystore dan KeyMint
Untuk aplikasi yang membuat kunci, sekarang Keystore dan KeyMint menyediakan indikator error yang lebih
detail dan akurat. Kami telah menambahkan hierarki class pengecualian pada
java.security.ProviderException
, dengan pengecualian khusus Android yang menyertakan
kode error Keystore/KeyMint,
dan apakah error tersebut dapat dicoba lagi. Anda juga dapat mengubah metode pembuatan dan
penggunaan kunci (penandatanganan, enkripsi) untuk menampilkan pengecualian baru. Pelaporan
error yang lebih baik tidak terbatas pada pembuatan kunci dan sekarang seharusnya dapat memberikan
berbagai hal yang Anda butuhkan untuk mencoba kembali pembuatan kunci.
Dukungan tablet dan perangkat layar besar
Android 13 di-build berdasarkan pengoptimalan tablet yang diperkenalkan di Android 12 dan update fitur baru 12L, seperti pengoptimalan untuk UI sistem, multitasking yang lebih baik, dan mode kompatibilitas yang lebih baik. Sebagai bagian dari pengujian, pastikan aplikasi Anda terlihat sempurna di tablet dan perangkat layar besar lainnya.
Untuk informasi selengkapnya tentang hal baru dan apa saja yang harus diuji, lihat halaman Dukungan tablet dan perangkat layar besar .
Grafik
Shader yang dapat diprogram

Android 13 menambahkan dukungan untuk objek RuntimeShader
yang dapat diprogram, dengan perilaku
yang ditetapkan menggunakan Android Graphics Shading Language (AGSL). AGSL berbagi banyak
sintaksisnya dengan GLSL, tetapi berfungsi dalam mesin rendering Android untuk menyesuaikan
proses menggambar dalam kanvas Android serta pemfilteran konten Tampilan. Android
secara internal menggunakan shader tersebut untuk menerapkan
efek riak,
buram,
dangulung ke atas,
dan Android 13 memungkinkan Anda membuat efek lanjutan yang serupa untuk aplikasi Anda.
Media
Pemilihan rute audio antisipatif
Untuk membantu aplikasi media mengidentifikasi cara pemilihan rute audio, kami telah menambahkan
API rute audio baru di class
AudioManager
. Dengan API
getAudioDevicesForAttributes()
baru, Anda dapat mengambil daftar perangkat yang dapat digunakan untuk memutar
audio yang ditentukan, menambahkan API
getDirectProfilesForAttributes()
untuk membantu Anda memahami apakah streaming audio dapat diputar secara langsung atau tidak. Gunakan
API baru ini untuk menentukan
AudioFormat
terbaik yang akan digunakan untuk trek
audio Anda.
Aksesibilitas
Deskripsi audio
Android 13 (API level 33) memperkenalkan preferensi aksesibilitas baru di seluruh sistem
yang memungkinkan pengguna mengaktifkan deskripsi audio di semua aplikasi. Deskripsi
audio adalah trek narasi tambahan yang terdiri dari narator yang berbicara
melalui presentasi dan menjelaskan adegan di layar selama
jeda alami dalam audio.
Aplikasi dapat mengikuti preferensi pengguna untuk jalur deskripsi audio dengan
mengirimkan kueri menggunakan isAudioDescriptionRequested()
,
seperti yang ditunjukkan dalam cuplikan kode berikut:
Kotlin
private lateinit var accessibilityManager: AccessibilityManager // In onCreate(): accessibilityManager = getSystemService(AccessibilityManager::class.java) // Where your media player is initialized if (accessibilityManager.isAudioDescriptionRequested) { // User has requested to enable audio descriptions }
Java
private AccessibilityManager accessibilityManager; // In onCreate(): accessibilityManager = getSystemService(AccessibilityManager.class); // Where your media player is initialized if(accessibilityManager.isAudioDescriptionRequested()) { // User has requested to enable audio descriptions }
Aplikasi dapat memantau perubahan preferensi pengguna dengan menambahkan pemroses ke
AccessbilityManager
:
Kotlin
private val listener = AccessibilityManager.AudioDescriptionRequestedChangeListener { enabled -> // Preference changed; reflect its state in your media player } override fun onStart() { super.onStart() accessibilityManager.addAudioDescriptionRequestedChangeListener(mainExecutor, listener) } override fun onStop() { super.onStop() accessibilityManager.removeAudioDescriptionRequestedChangeListener(listener) }
Java
private AccessibilityManager.AudioDescriptionRequestedChangeListener listener = enabled -> { // Preference changed; reflect its state in your media player }; @Override protected void onStart() { super.onStart(); accessibilityManager.addAudioDescriptionRequestedChangeListener(getMainExecutor(), listener); } @Override protected void onStop() { super.onStop(); accessibilityManager.removeAudioDescriptionRequestedChangeListener(listener); }
Fungsi inti
Update OpenJDK 11
Android 13 memulai pekerjaan memuat ulang library inti Android agar selaras dengan rilis OpenJDK 11 LTS dengan update library dan dukungan bahasa Java 11 untuk developer aplikasi dan platform. Perubahan library inti yang diperkenalkan di Android 13 juga akan tersedia untuk perangkat Android 12 melalui update sistem Google Play untuk Modul ART Utama.
Android 13 menyertakan perubahan berikut ke library inti:
- Dukungan untuk kata kunci
var
untuk variabel lokal dan sebagai lambda parameter. Metode baru di class String:
isBlank()
lines()
repeat()
strip()
stripLeading()
stripTrailing()
Dukungan untuk
Collection.toArray(IntFunction)
agar lebih mudah untuk menyesuaikan koleksi ke array.Dukungan untuk
ifPresentOrElse()
,isEmpty()
,orElseThrow()
, danstream()
dalam classjava.util
Optional
,OptionalDouble
,OptionalInt
, danOptionalLong
.Dukungan yang diperluas untuk
SocketOptions
termasuk penggunaan kembali soket.Fungsi
NullReader
,NullWriter
,InputStream
,OutputStream
, dantransferTo()
Reader
yang mentransfer karakter baca keWriter
.Menambahkan fungsi untuk encoding dan decoding URL menggunakan
Charsets
.Fungsi
Charset
untukFileReader
,FileWriter
,PrintStream
, danPrintWriter
.Fungsi
transferTo()
,readNBytes()
,readAllBytes()
, danwriteBytes()
baru untukByteArrayInput
atauOutputStream
danInput
atauOutputStream
.Dukungan runtime dan compiler untuk
java.lang.invoke.VarHandle
.Mengupdate
java.util.concurrent
ke API OpenJDK 11 menggunakanVarHandle
secara internal.
Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.