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.
Alat dan produktivitas developer
Ikon aplikasi bertema
![Pengguna memilih ikon aplikasi bertema](https://developer.android.google.cn/static/images/about/versions/13/themed-app-icons.gif?authuser=9&hl=id)
Mulai Android 13, Anda dapat memilih untuk ikut serta dalam ikon aplikasi bertema. Dengan fitur ini, ikon aplikasi di peluncur Android yang didukung 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
Untuk mengetahui detail dan petunjuk selengkapnya, lihat Ikon adaptif.
Preferensi bahasa per aplikasi
![](https://developer.android.google.cn/static/images/about/versions/13/app-languages.png?authuser=9&hl=id)
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, China, 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: Lokasi terpusat tempat pengguna dapat memilih bahasa pilihan untuk setiap aplikasi.
Aplikasi harus mendeklarasikan atribut
android:localeConfig
dalam manifes aplikasi untuk memberi tahu sistem bahwa aplikasi mendukung beberapa bahasa. Untuk mempelajari lebih lanjut, lihat petunjuk untuk membuat file resource dan mendeklarasikannya di file manifes aplikasi.API tambahan: API publik ini, seperti metode
setApplicationLocales()
dangetApplicationLocales()
diLocaleManager
, memungkinkan aplikasi untuk menyetel bahasa yang berbeda dari bahasa sistem saat runtime.API ini otomatis disinkronkan dengan setelan sistem; oleh karena itu, aplikasi yang menggunakan API ini untuk membuat pemilih bahasa kustom dalam aplikasi akan memastikan penggunanya memiliki pengalaman pengguna yang konsisten di mana pun mereka memilih preferensi bahasa mereka. API publik ini tidak hanya membantu Anda mengurangi jumlah kode boilerplate, tetapi juga mendukung APK terpisah dan Auto Backup untuk Aplikasi guna menyimpan setelan bahasa pengguna tingkat aplikasi.
Untuk kompatibilitas mundur dengan versi Android sebelumnya, API setara juga tersedia di AndroidX. Sebaiknya gunakan API yang ditambahkan di Appcompat 1.6.0-beta01 atau yang lebih tinggi.
Aplikasi yang tidak mendukung banyak bahasa tidak terpengaruh oleh perubahan ini.
Peningkatan dukungan teks dan bahasa
Android 13 menyertakan beberapa peningkatan fitur teks dan bahasa yang membantu Anda memberikan pengalaman yang lebih baik, yang dijelaskan di bagian berikut:
Tanda hubung yang lebih cepat
Tanda hubung membuat teks yang digabungkan lebih mudah dibaca dan membantu membuat UI Anda lebih
adaptif. Di Android 13, performa tanda hubung dioptimalkan hingga
200% sehingga Anda dapat mengaktifkannya di TextView
tanpa memengaruhi
performa rendering. Untuk memungkinkan penggunaan tanda hubung yang lebih cepat, gunakan
fullFast
atau
normalFast
frekuensi di
setHyphenationFrequency()
.
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.
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.
![](https://developer.android.google.cn/static/images/about/versions/13/line-heights.png?authuser=9&hl=id)
Penggabungan teks bahasa Jepang yang ditingkatkan
Mulai dari Android 13, TextView dapat menggabungkan teks dengan 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.
![](https://developer.android.google.cn/static/images/about/versions/13/japanese-text-wrapping.png?authuser=9&hl=id)
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.
Font vektor warna
![](https://developer.android.google.cn/static/images/about/versions/13/color-vector-fonts.png?authuser=9&hl=id)
Mulai dari Android 13, sistem menyertakan dukungan rendering untuk font COLR versi 1 (COLRv1) dan mengupdate emoji sistem ke format COLRv1. COLRv1 adalah format font yang 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
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.
Pratinjau papan klip
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.
![Widget Salin/Tempel](https://developer.android.google.cn/static/images/about/versions/13/new-copy-paste-UI.gif?authuser=9&hl=id)
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.
Bluetooth LE Audio
Audio Hemat Energi (LE) adalah audio nirkabel yang dibuat untuk menggantikan Bluetooth klasik, dan memungkinkan kasus penggunaan serta topologi koneksi tertentu. 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. Mulai Android 13, mencakup dukungan bawaan untuk LE Audio, sehingga developer menerima secara gratis pada perangkat yang kompatibel.
MIDI 2.0
Mulai Android 13, sistem menyertakan dukungan untuk standar MIDI 2.0, termasuk kemampuan untuk menghubungkan perangkat keras MIDI 2.0 melalui USB. Standar ini menawarkan fitur seperti peningkatan resolusi untuk {i>controller<i}, dukungan yang lebih baik untuk intonasi non-Barat, dan performa yang lebih ekspresif menggunakan setiap catatan Domain Controllers.
Peningkatan efisiensi layar pembuka
Android 13 meningkatkan efisiensi layar pembuka animasi di Splash Screen API:
Sistem menyimpulkan durasi animasi langsung dari
AnimatedVectorDrawable
. Sebelum Android 13, Anda perlu menyetelwindowSplashScreenAnimationDuration
secara langsung.Gunakan atribut
windowSplashScreenBehavior
baru untuk mendapatkan kontrol lebih besar terhadap apakah aplikasi Anda selalu menampilkan ikon di layar pembuka di Android 13 dan yang lebih tinggi.
Untuk melihat dokumentasi mendetail, lihat Layar Pembuka.
Pengoptimalan ART
Di Android 13 (API level 33) dan yang lebih tinggi, ART membuat beralih ke dan dari native
kode jauh lebih cepat, dengan panggilan JNI hingga 2,5x lebih cepat. Referensi runtime
juga dikerjakan ulang agar sebagian besar tidak melakukan pemblokiran, yang
mengurangi jank. Selain itu, Anda dapat menggunakan
Reference.refersTo()
publik untuk mengklaim kembali objek yang tidak dapat dijangkau lebih cepat, dan Anda akan melihat
kini menjadi lebih cepat berkat pencarian class dan metode yang dioptimalkan. ART juga
melakukan lebih banyak verifikasi kode byte
pada waktu instalasi, untuk menghindari
verifikasi saat runtime dan menjaga waktu startup aplikasi tetap cepat.
Privasi dan keamanan
Mengekspor penerima yang terdaftar dalam konteks dengan lebih aman
Untuk membantu membuat penerima runtime lebih aman, Android 13 memperkenalkan aplikasi Anda untuk menentukan apakah penerima siaran terdaftar harus diekspor dan terlihat oleh aplikasi lain di perangkat. Pada versi sebelumnya Android, aplikasi apa pun pada perangkat dapat mengirim siaran yang tidak dilindungi ke penerima yang terdaftar secara dinamis kecuali penerima itu dilindungi oleh izin tanda tangan.
Konfigurasi ekspor ini tersedia di aplikasi yang melakukan setidaknya salah satu tindakan berikut ini:
- Menggunakan
ContextCompat
dari versi 1.9.0 atau yang lebih tinggi dari Library AndroidX Core. - Menargetkan Android 13 atau yang lebih baru.
Pemilih foto
Android 13 (API level 33) dan yang lebih baru menyertakan pengalaman pemilih foto. Saat aplikasi meluncurkan alat pilih 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. Ini adalah cara yang direkomendasikan untuk mengakses foto dan video pengguna.
Pemilih 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 atau versi yang lebih tinggi, 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 yang dapat di-downgrade oleh developer
Mulai Android 13, aplikasi Anda dapat mencabut akses ke izin runtime yang tidak digunakan. 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.
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 menangani beberapa masalah umum dengan APK Signature Scheme v3 mengenai rotasi. Secara khusus, v3.1 skema tanda tangan mendukung penargetan versi SDK, yang memungkinkan rotasi ke menargetkan rilis platform selanjutnya.
Skema tanda tangan v3.1 menggunakan ID blok 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 atau yang lebih baru 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 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 dibuat berdasarkan pengoptimalan tablet yang diperkenalkan di Android 12 dan update fitur baru 12L, seperti pengoptimalan untuk UI sistem, multitasking yang lebih baik, dan mode peningkatan kompatibilitas. 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
![](https://developer.android.google.cn/static/images/about/versions/13/agsl-shader.gif?authuser=9&hl=id)
Mulai dari Android 13, sistem menyertakan dukungan untuk objek
RuntimeShader
yang dapat diprogram, dengan
perilaku yang ditentukan 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 ,
dan
gulung ke atas.
Android 13 dan yang lebih tinggi memungkinkan Anda membuat efek lanjutan yang serupa untuk aplikasi
Anda.
Peningkatan koreografer
Android 13 memperkenalkan metode API publik untuk
Choreographer
dan
ASurfaceControl
yang
memberikan informasi lebih lanjut tentang kemungkinan linimasa frame ke aplikasi dan menambahkan
lebih banyak konteks ke
SurfaceFlinger
terkait siklus proses frame. Serupa dengan sebelumnya, aplikasi dapat
memposting callback
ke Choreographer
dan menerima informasi linimasa frame. Di Android 13 (API
level 33), Choreographer
menampilkan beberapa kemungkinan waktu presentasi dan
batas waktu frame yang sesuai. Aplikasi dapat memilih waktu presentasi dan
kemudian
memberi tahu SurfaceFlinger
pilihan. SurfaceFlinger
kemudian tidak berupaya menerapkan transaksi atau
mengaitkan buffer sebelum waktu presentasi yang diinginkan.
![](https://developer.android.google.cn/static/images/about/versions/13/13-choreographer.png?authuser=9&hl=id)
Kamera
Perekaman video HDR
Mulai di Android 13, Camera2 API mendukung perekaman video Rentang Dinamis Tinggi (HDR), yang memungkinkan Anda melihat pratinjau dan merekam konten video HDR menggunakan kamera. Dibandingkan dengan Standar Dynamic Range (SDR), HDR menawarkan rentang warna yang lebih luas dan meningkatkan rentang dinamis komponen luminans (dari 100 cd/m2 saat ini menjadi 1000-an cd/m2). Hal ini menghasilkan kualitas video yang lebih cocok dengan kehidupan nyata, dengan warna yang lebih kaya, sorotan yang lebih cerah, dan bayangan yang lebih gelap.
Untuk mempelajari perekaman video HDR lebih lanjut, lihat dokumentasi Perekaman video HDR.
Media
Audio spasial
Audio spasial adalah pengalaman audio imersif yang membuat konten media terdengar jelas lebih realistis bagi pengguna. Lihat Audio spasial kami dokumentasi untuk detail tentang cara mengintegrasikan fitur ini.
Pemilihan rute audio antisipatif
Untuk membantu aplikasi media mengidentifikasi cara audio akan dirutekan, Android 13
memperkenalkan API rute audio di
class AudioManager
. API
getAudioDevicesForAttributes()
memungkinkan Anda mengambil daftar perangkat yang dapat digunakan untuk memutar
audio yang ditentukan, dan
getDirectProfilesForAttributes()
API membantu Anda memahami apakah streaming audio dapat diputar secara langsung. Gunakan
API 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.