Berita Produk

Beta Kedua Android 17

Waktu baca: 6 menit
Matthew McCullough
Wakil Direktur, Manajemen Produk, Developer Android

Hari ini, kami merilis versi beta kedua Android 17, melanjutkan upaya kami untuk membangun platform yang memprioritaskan privasi, keamanan, dan performa yang ditingkatkan. Update ini menghadirkan berbagai kemampuan baru, termasuk EyeDropper API dan Pemilih Kontak yang menjaga privasi. Kami juga menambahkan rentang lanjutan, API serah terima lintas perangkat, dan lainnya.

Rilis ini melanjutkan perubahan dalam irama rilis kami, mengikuti rilis SDK utama tahunan ini pada Kuartal 2 dengan update SDK minor.

Pengalaman Pengguna &UI Sistem

Gelembung

Gelembung adalah fitur mode jendela yang menawarkan pengalaman UI mengambang baru yang terpisah dari API gelembung pesan. Pengguna dapat membuat gelembung aplikasi di ponsel, perangkat foldable, atau tablet dengan menekan lama ikon aplikasi di peluncur. Di layar besar, ada panel gelembung sebagai bagian dari taskbar tempat pengguna dapat mengatur, berpindah, dan memindahkan gelembung ke dan dari titik yang ditambatkan di layar.

Bubbles.gif

Anda harus mengikuti panduan untuk mendukung mode multi-aplikasi guna memastikan aplikasi Anda berfungsi dengan benar sebagai gelembung.

Gelembung belum sepenuhnya diaktifkan di Beta 2. Cari gelembung di build Android 17 mendatang.

EyeDropper API

EyeDropper API tingkat sistem yang baru memungkinkan aplikasi Anda meminta warna dari piksel mana pun di layar tanpa memerlukan izin pengambilan layar sensitif.

Eyedropper_Tester.webp
val eyeDropperLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
  result -> if (result.resultCode == Activity.RESULT_OK) {
    val color = result.data?.getIntExtra(Intent.EXTRA_COLOR, Color.BLACK)
    // Use the picked color in your app
  }
}

fun launchColorPicker() {
  val intent = Intent(Intent.ACTION_OPEN_EYE_DROPPER)
  eyeDropperLauncher.launch(intent)
}

Pemilih Kontak

Pemilih kontak tingkat sistem baru melalui ACTION_PICK_CONTACTS memberikan akses baca berbasis sesi sementara hanya ke kolom data tertentu yang diminta oleh pengguna, sehingga mengurangi kebutuhan akan izin READ_CONTACTS yang luas. Fitur ini juga memungkinkan pemilihan dari profil pribadi atau kerja perangkat.

android-17-contact-picker.gif
val contactPicker = rememberLauncherForActivityResult(StartActivityForResult()) {
    if (it.resultCode == RESULT_OK) {
        val uri = it.data?.data ?: return@rememberLauncherForActivityResult
        // Handle result logic
        processContactPickerResults(uri)
    }
}

val dataFields = arrayListOf(Email.CONTENT_ITEM_TYPE, Phone.CONTENT_ITEM_TYPE)
val intent = Intent(ACTION_PICK_CONTACTS).apply {
    putStringArrayListExtra(EXTRA_PICK_CONTACTS_REQUESTED_DATA_FIELDS, dataFields)
    putExtra(EXTRA_ALLOW_MULTIPLE, true)
    putExtra(EXTRA_PICK_CONTACTS_SELECTION_LIMIT, 5)
}

contactPicker.launch(intent)

Kompatibilitas pengambilan pointer yang lebih mudah dengan touchpad

Sebelumnya, touchpad melaporkan peristiwa dengan cara yang sangat berbeda dari mouse saat aplikasi telah mengambil pointer, melaporkan lokasi jari di touchpad, bukan gerakan relatif yang akan dilaporkan oleh mouse. Hal ini membuat dukungan touchpad yang tepat di game orang pertama menjadi cukup sulit. Sekarang, secara default, sistem akan mengenali gerakan pointer dan gestur scroll saat touchpad diambil, dan melaporkannya seperti peristiwa mouse. Anda masih dapat meminta data lokasi jari lama dan mendetail dengan meminta pengambilan secara eksplisit dalam mode "absolut" baru. 

// To request the new default relative mode (mouse-like events)
// This is the same as requesting with View.POINTER_CAPTURE_MODE_RELATIVE
view.requestPointerCapture()

// To request the legacy absolute mode (raw touch coordinates)
view.requestPointerCapture(View.POINTER_CAPTURE_MODE_ABSOLUTE)

Batas istirahat Pemilih Interaktif

Dengan memanggil getInitialRestingBounds di ChooserSession Android, aplikasi Anda dapat mengidentifikasi posisi target yang ditempati Pemilih setelah animasi dan pemuatan data selesai, sehingga memungkinkan penyesuaian UI yang lebih baik.

Konektivitas &Lintas Perangkat

Serah terima aplikasi lintas perangkat

Handoff API baru memungkinkan Anda menentukan status aplikasi yang akan dilanjutkan di perangkat lain, seperti tablet Android. Jika diaktifkan, sistem akan menyinkronkan status melalui CompanionDeviceManager dan menampilkan saran serah terima di peluncur perangkat terdekat pengguna. Fitur ini dirancang untuk menawarkan kontinuitas tugas yang lancar, sehingga pengguna dapat melanjutkan tugas yang mereka tinggalkan dalam alur kerja di seluruh ekosistem Android mereka. Yang penting, Handoff mendukung transisi aplikasi ke aplikasi native dan penggantian aplikasi ke web, sehingga memberikan fleksibilitas maksimum dan memastikan pengalaman yang lengkap meskipun aplikasi native tidak diinstal di perangkat penerima.

API rentang lanjutan

Kami menambahkan dukungan untuk 2 teknologi rentang baru -

  1. UWB DL-TDOA yang memungkinkan aplikasi menggunakan UWB untuk navigasi dalam ruangan. Permukaan API ini sesuai dengan spesifikasi FIRA (Fine Ranging Consortium) 4.0 DL-TDOA dan memungkinkan navigasi dalam ruangan yang menjaga privasi  (menghindari pelacakan perangkat oleh anchor).
  2. Deteksi Kedekatan yang memungkinkan aplikasi menggunakan spesifikasi rentang baru yang diadopsi oleh WFA (WiFi Alliance). Teknologi ini memberikan keandalan dan akurasi yang lebih baik dibandingkan spesifikasi rentang berbasis Wifi Aware yang ada.

Peningkatan paket data

Untuk mengoptimalkan kualitas media, aplikasi Anda kini dapat mengambil kecepatan data maksimum yang dialokasikan operator untuk aplikasi streaming menggunakan getStreamingAppMaxDownlinkKbps dan getStreamingAppMaxUplinkKbps.

Fungsi Inti, Privasi &Performa

Akses Jaringan Lokal

Android 17 memperkenalkan izin runtime ACCESS_LOCAL_NETWORK untuk melindungi pengguna dari akses jaringan lokal yang tidak sah. Karena izin ini berada di bawah grup izin NEARBY_DEVICES yang ada, pengguna yang telah memberikan izin NEARBY_DEVICES lainnya tidak akan diminta lagi. Dengan mendeklarasikan dan meminta izin ini, aplikasi Anda dapat menemukan dan terhubung ke perangkat di jaringan area lokal (LAN), seperti perangkat smart home atau penerima transmisi. Hal ini mencegah aplikasi berbahaya mengeksploitasi akses jaringan lokal yang tidak dibatasi untuk pelacakan dan sidik jari pengguna secara diam-diam. Aplikasi yang menargetkan Android 17 atau yang lebih tinggi kini akan memiliki dua jalur untuk mempertahankan komunikasi dengan perangkat LAN: mengadopsi pemilih perangkat yang dimediasi sistem dan menjaga privasi untuk melewati perintah izin, atau secara eksplisit meminta izin baru ini saat runtime untuk mempertahankan komunikasi jaringan lokal.

Siaran perubahan offset zona waktu

Android kini menyediakan intent siaran yang andal, ACTION_TIMEZONE_OFFSET_CHANGED, yang dipicu saat offset zona waktu sistem berubah, seperti selama transisi Waktu Musim Panas. Hal ini melengkapi intent siaran yang ada ACTION_TIME_CHANGED dan ACTION_TIMEZONE_CHANGED, yang masing-masing dipicu saat stempel waktu Unix berubah dan saat ID zona waktu berubah.

Pengelolaan dan Pemrioritasan NPU

Aplikasi yang menargetkan Android 17 dan perlu mengakses NPU secara langsung harus mendeklarasikan FEATURE_NEURAL_PROCESSING_UNIT dalam manifesnya agar tidak diblokir untuk mengakses NPU. Hal ini mencakup aplikasi yang menggunakan delegasi NPU LiteRT, SDK khusus vendor, serta NNAPI yang tidak digunakan lagi.

Dukungan ICU 78 dan Unicode 17

Library internasionalisasi inti telah diupdate ke ICU 78, yang memperluas dukungan untuk skrip, karakter, dan blok emoji baru, serta memungkinkan pemformatan langsung objek waktu.

Perlindungan OTP SMS

Android memperluas perlindungan OTP SMS dengan otomatis menunda akses ke pesan SMS dengan OTP. Sebelumnya, perlindungan terutama berfokus pada format Pengambilan SMS yang menunda pengiriman pesan yang berisi hash pengambilan SMS selama tiga jam untuk sebagian besar aplikasi. Namun, untuk aplikasi tertentu seperti aplikasi SMS default, dll., dan aplikasi yang sesuai dengan hash dikecualikan dari penundaan ini. Update ini memperluas perlindungan ke semua pesan SMS dengan OTP. Untuk sebagian besar aplikasi, pesan SMS yang berisi OTP hanya dapat diakses setelah penundaan selama tiga jam untuk membantu mencegah pembajakan OTP. Siaran SMS_RECEIVED_ACTION akan ditahan dan kueri database penyedia SMS akan difilter. Pesan SMS akan tersedia untuk aplikasi ini setelah penundaan. 

Akses tertunda ke pesan SMS format WebOTP

Jika aplikasi memiliki izin untuk membaca pesan SMS tetapi bukan penerima OTP yang dimaksud (sebagaimana ditentukan oleh verifikasi domain), pesan SMS format WebOTP hanya dapat diakses setelah tiga jam berlalu. Perubahan ini dirancang untuk meningkatkan keamanan pengguna dengan memastikan bahwa hanya aplikasi yang terkait dengan domain yang disebutkan dalam pesan yang dapat membaca kode verifikasi secara terprogram. Perubahan ini berlaku untuk semua aplikasi, apa pun level API targetnya.

Akses tertunda ke pesan SMS standar dengan OTP

Untuk pesan SMS yang berisi OTP yang tidak menggunakan format WebOTP atau Pengambilan SMS, OTP SMS hanya dapat diakses setelah tiga jam untuk sebagian besar aplikasi. Perubahan ini hanya berlaku untuk aplikasi yang menargetkan Android 17 (level API 37) atau yang lebih tinggi.

Aplikasi tertentu seperti SMS default, aplikasi asisten, beserta aplikasi pendamping perangkat terhubung, dll. akan dikecualikan dari penundaan ini.

Semua aplikasi yang mengandalkan pembacaan pesan SMS untuk ekstraksi OTP harus bertransisi ke penggunaan SMS Retriever atau SMS User Consent API untuk memastikan fungsi yang berkelanjutan.

Jadwal Android 17

Kami akan segera beralih dari versi Beta ini ke tahap pencapaian Stabilitas Platform, yang ditargetkan pada bulan Maret. Pada tahap pencapaian ini, kami akan memberikan API SDK/NDK final. Mulai saat itu, aplikasi Anda dapat menargetkan SDK 37 dan memublikasikan ke Google Play untuk membantu Anda menyelesaikan pengujian dan mengumpulkan masukan pengguna dalam beberapa bulan sebelum ketersediaan umum Android 17.

Linimasa Rilis Android.png

Rilis selama setahun

Kami berencana agar Android 17 terus mendapatkan update dalam serangkaian rilis triwulanan. Rilis mendatang pada Kuartal 2 adalah satu-satunya rilis yang memperkenalkan perubahan perilaku yang direncanakan dan dapat merusak aplikasi. Kami berencana merilis SDK minor pada Kuartal 4 dengan API dan fitur tambahan.

Linimasa Rilis Android_2.png

Mulai menggunakan Android 17

Anda dapat mendaftarkan perangkat Pixel yang didukung untuk mendapatkan update Android Beta ini dan mendatang secara over the air. Jika tidak memiliki perangkat Pixel, Anda dapat menggunakan image sistem 64-bit dengan Android Emulator di Android Studio.

Jika saat ini Anda berada dalam program Android Beta, Anda akan ditawari update over the air ke Beta 2.

Jika Anda memiliki Android 26Q1 Beta dan ingin menggunakan rilis stabil final 26Q1 dan keluar dari Beta, Anda harus mengabaikan update over the air ke 26Q2 Beta 2 dan menunggu rilis 26Q1.

Kami ingin mendapatkan masukan Anda, jadi harap laporkan masalah dan kirimkan permintaan fitur di halaman masukan. Semakin awal kami mendapatkan masukan, semakin banyak yang dapat kami sertakan dalam pekerjaan kami pada rilis final.

Untuk mendapatkan pengalaman pengembangan terbaik dengan Android 17, sebaiknya gunakan pratinjau terbaru Android Studio (Panda). Setelah Anda menyiapkan semuanya, berikut beberapa hal yang harus Anda lakukan:

  • Kompilasi terhadap SDK baru, uji di lingkungan CI, dan laporkan masalah apa pun di pelacak kami di halaman masukan.
  • Uji aplikasi Anda saat ini untuk mengetahui kompatibilitasnya, pelajari apakah aplikasi Anda terpengaruh oleh perubahan di Android 17, dan instal aplikasi Anda ke perangkat atau emulator yang menjalankan Android 17 dan uji secara menyeluruh.

Kami akan mengupdate image sistem pratinjau/beta dan SDK secara rutin sepanjang siklus rilis Android 17. Setelah menginstal build beta, Anda akan otomatis mendapatkan update mendatang

secara over the air untuk semua pratinjau dan Beta berikutnya.

Untuk informasi lengkap, buka situs developer Android 17.

Gabung dalam percakapan

Saat kita beralih ke Stabilitas Platform dan ketersediaan umum Android 17 pada akhir tahun ini, masukan Anda tetap menjadi aset kami yang paling berharga. Baik Anda pengguna awal di saluran Canary maupun developer aplikasi yang menguji di Beta 2, pertimbangkan untuk bergabung dengan komunitas kami dan mengirimkan masukan. Kami mendengarkan.

Ditulis oleh:

Lanjutkan membaca