Activity

Mengakses API composable yang dibuat dari Activity.
Update Terbaru Rilis Stabil Saat Ini Kandidat Rilis Berikutnya Rilis Beta Rilis Alfa
27 Oktober 2021 1.4.0 - - -

Mendeklarasikan dependensi

Untuk menambahkan dependensi pada Activity, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk mengetahui informasi selengkapnya.

Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle bagi aplikasi atau modul Anda:

Groovy

dependencies {
    def activity_version = "1.4.0"

    // Java language implementation
    implementation "androidx.activity:activity:$activity_version"
    // Kotlin
    implementation "androidx.activity:activity-ktx:$activity_version"
}

Kotlin

dependencies {
    val activity_version = "1.4.0"

    // Java language implementation
    implementation("androidx.activity:activity:$activity_version")
    // Kotlin
    implementation("androidx.activity:activity-ktx:$activity_version")
}

Untuk informasi dependensi selengkapnya, lihat Menambahkan dependensi build.

Masukan

Masukan Anda membantu meningkatkan kualitas Jetpack. Beri tahu kami jika Anda menemukan masalah baru atau mempunyai masukan untuk meningkatkan kualitas library ini. Harap periksa masalah yang sudah diketahui dalam library ini sebelum membuat laporan baru. Anda dapat memberikan suara untuk masalah yang sudah diketahui dengan mengklik tombol bintang.

Laporkan masalah baru

Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.

Versi 1.4.0

Versi 1.4.0

27 Oktober 2021

androidx.activity:activity:1.4.0, androidx.activity:activity-compose:1.4.0, dan androidx.activity:activity-ktx:1.4.0 dirilis. Versi 1.4.0 berisi commit berikut.

Perubahan penting sejak versi 1.3.0

  • ComponentActivity AndroidX kini mengimplementasikan antarmuka MenuHost. Ini memungkinkan komponen apa pun menambahkan item menu ke ActionBar dengan menambahkan instance MenuProvider ke aktivitas. Setiap MenuProvider dapat ditambahkan secara opsional dengan Lifecycle yang akan otomatis mengontrol visibilitas item menu tersebut berdasarkan status Lifecycle dan menangani penghapusan MenuProvider saat Lifecycle dihancurkan.
  • Class ActivityResultContract telah ditulis ulang di Kotlin untuk memastikan bahwa developer yang menulis kontrak kustom di Kotlin dapat menentukan nullability yang benar untuk class input dan output.
  • Class ActivityResultContracts dan kontraknya telah ditulis ulang di Kotlin guna memastikan nullability yang tepat.

Versi 1.4.0-rc01

13 Oktober 2021

androidx.activity:activity:1.4.0-rc01, androidx.activity:activity-compose:1.4.0-rc01, dan androidx.activity:activity-ktx:1.4.0-rc01 dirilis. Versi 1.4.0-rc01 berisi commit berikut.

Perbaikan Bug

  • ActivityResultRegistry tidak akan lagi menampilkan hasil ke ActivityResultCallback saat panggilan launch menampilkan Exception apa pun. (If4f91, b/200845664)

Versi 1.4.0-beta01

29 September 2021

androidx.activity:activity:1.4.0-beta01, androidx.activity:activity-compose:1.4.0-beta01, dan androidx.activity:activity-ktx:1.4.0-beta01 dirilis. Versi 1.4.0-beta01 berisi commit berikut.

Perubahan API

  • Memperbaiki jenis untuk ActivityResultContracts.OpenMultipleDocuments dan ActivityResultContracts.GetMultipleContents yang kemudian menyebabkan penggunaan jenis output List<? extends Uri> saat menggunakan kode dari bahasa pemrograman Java. (If71de)
  • Konstanta publik dalam class ActivityResultContracts.StartActivityForResult, ActivityResultContracts.StartIntentSenderForResult, dan ActivityResultContracts.RequestMultiplePermissions kini dapat diakses saat menggunakan Kotlin melalui objek Companion publiknya sekarang. (aosp/1832555)

Pembaruan Dokumentasi

  • Pesan penghentian penggunaan untuk API yang sekarang ditangani oleh Activity Result API, yaitu startActivityForResult, startIntentSenderForResult, onActivityResult, requestPermissions, dan onRequestPermissionsResult, semuanya telah diperluas dengan detail selengkapnya. (cce80f)

Versi 1.4.0-alpha02

15 September 2021

androidx.activity:activity:1.4.0-alpha02, androidx.activity:activity-compose:1.4.0-alpha02, dan androidx.activity:activity-ktx:1.4.0-alpha02 dirilis. Versi 1.4.0-alpha02 berisi commit berikut.

Fitur Baru

  • Artefak activity-compose sekarang berisi error lint LaunchDuringComposition yang mencegah Anda memanggil metode launch dari ActivityResultLauncher sebagai bagian dari komposisi karena komposisi seharusnya bebas efek samping. Menggunakan API untuk menangani efek samping. (7c2bbe, b/191347220)

Perubahan API

  • Class ActivityResultContract telah ditulis ulang di Kotlin untuk memastikan bahwa developer yang menulis kontrak kustom di Kotlin dapat menentukan nullability yang benar untuk class input dan output. (I8a8f5)
  • Class ActivityResultContracts dan kontraknya telah ditulis ulang di Kotlin guna memastikan nullability yang tepat. (I69802)

Versi 1.4.0-alpha01

1 September 2021

androidx.activity:activity:1.4.0-alpha01, androidx.activity:activity-compose:1.4.0-alpha01, dan androidx.activity:activity-ktx:1.4.0-alpha01 dirilis. Versi 1.4.0-alpha01 berisi commit berikut ini.

Fitur Baru

  • ComponentActivity AndroidX kini mengimplementasikan antarmuka MenuHost. Ini memungkinkan komponen apa pun menambahkan item menu ke ActionBar dengan menambahkan instance MenuProvider ke aktivitas. Setiap MenuProvider dapat ditambahkan secara opsional dengan Lifecycle yang akan otomatis mengontrol visibilitas item menu tersebut berdasarkan status Lifecycle dan menangani penghapusan MenuProvider saat Lifecycle dihancurkan. (I3b608):
/**
  * Using the addMenuProvider() API directly in your Activity
  **/
class ExampleActivity : ComponentActivity(R.layout.activity_example) {

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    // Add menu items without overriding methods in the Activity
   addMenuProvider(object : MenuProvider {
      override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
        // Add menu items here
        menuInflater.inflate(R.menu.example_menu, menu)
      }

      override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
        // Handle the menu selection
        return true
      }
    })
  }
}

/**
  * Using the addMenuProvider() API in a Fragment
  **/
class ExampleFragment : Fragment(R.layout.fragment_example) {

  override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    // The usage of an interface lets you inject your own implementation
    val menuHost: MenuHost = requireActivity()

    // Add menu items without using the Fragment Menu APIs
    // Note how we can tie the MenuProvider to the viewLifecycleOwner
    // and an optional Lifecycle.State (here, RESUMED) to indicate when
    // the menu should be visible
    menuHost.addMenuProvider(object : MenuProvider {
      override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
        // Add menu items here
        menuInflater.inflate(R.menu.example_menu, menu)
      }

      override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
        // Handle the menu selection
        return true
      }
    }, viewLifecycleOwner, Lifecycle.State.RESUMED)
  }

Perubahan Perilaku

  • ActivityResultRegistry sekarang akan melemparkan IllegalStateException saat mencoba memanggil launch() di ActivityResultLauncher yang belum terdaftar atau yang telah dibatalkan pendaftarannya. (Ida75d, b/192567522)

Kontribusi Eksternal

  • Terima kasih dmitrilc karena telah memperbaiki kesalahan ketik dalam dokumentasi ActivityResult. (#221)

Versi 1.3.1

Versi 1.3.1

4 Agustus 2021

androidx.activity:activity:1.3.1, androidx.activity:activity-compose:1.3.1, dan androidx.activity:activity-ktx:1.3.1 dirilis. Versi 1.3.1 berisi commit berikut ini.

Update dependensi

  • Activity sekarang bergantung pada Kotlin 1.5.21.
  • Activity Compose sekarang bergantung pada Compose 1.0.1.

Versi 1.3.0

Versi 1.3.0

28 Juli 2021

androidx.activity:activity:1.3.0, androidx.activity:activity-compose:1.3.0, dan androidx.activity:activity-ktx:1.3.0 dirilis. Versi 1.3.0 berisi commit berikut ini.

Perubahan penting sejak versi 1.2.0

  • Artefak Activity Compose - Artefak activity-compose menyediakan metode ekstensi setContent untuk menghosting UI Jetpack Compose dalam aktivitas dan wrapper spesifik Compose untuk berinteraksi dengan ComponentActivity API guna menangani tombol kembali sistem dan Activity Result API. Lihat dokumentasi untuk detail selengkapnya.
  • Kontrak CaptureVideo - ActivityResultContract CaptureVideo menggantikan kontrak TakeVideo yang sekarang tidak digunakan lagi dan menampilkan boolean yang menunjukkan keberhasilan yang berfungsi di banyak aplikasi kamera.
  • Pelacakan Tampilan Petunjuk Picture-In-Picture - Pengguna activity-ktx kini dapat menggunakan metode ekstensi trackPipAnimationHintView di Activity untuk otomatis membuat ulang PictureInPictureParams dengan posisi baru tampilan karena mengubah posisi relatif terhadap jendela.

Versi 1.3.0-rc02

14 Juli 2021

androidx.activity:activity:1.3.0-rc02, androidx.activity:activity-compose:1.3.0-rc02, dan androidx.activity:activity-ktx:1.3.0-rc02 dirilis. Versi 1.3.0-rc02 berisi commit berikut ini.

Perbaikan Bug

  • Callback ActivityResultRegistry kini disimpan dan dipulihkan dengan benar, sehingga callback tidak diduplikasi di savedState. (I97816, b/191893160)

Versi 1.3.0-rc01

1 Juli 2021

androidx.activity:activity:1.3.0-rc01, androidx.activity:activity-compose:1.3.0-rc01, dan androidx.activity:activity-ktx:1.3.0-rc01 dirilis tanpa perubahan dari versi 1.3.0-beta02. Versi 1.3.0-rc01 berisi commit berikut ini.

Versi 1.3.0-beta02

16 Juni 2021

androidx.activity:activity:1.3.0-beta02, androidx.activity:activity-compose:1.3.0-beta02, dan androidx.activity:activity-ktx:1.3.0-beta02 dirilis. Versi 1.3.0-beta02 berisi commit berikut ini.

Mengupdate activity-compose agar bergantung pada Compose 1.0.0-beta09. androidx.compose.ui:ui-test-junit4 sekarang memiliki dependensi waktu kompilasi pada activity-compose.

Versi 1.3.0-beta01

2 Juni 2021

androidx.activity:activity:1.3.0-beta01, androidx.activity:activity-compose:1.3.0-beta01, dan androidx.activity:activity-ktx:1.3.0-beta01 dirilis. Versi 1.3.0-beta01 berisi commit berikut ini.

Perubahan API

  • Metode @Composable registerForActivityResult() yang sebelumnya tidak digunakan lagi telah dihapus. Harap gunakan rememberLauncherForActivityResult(). (Ic39d3)

Versi 1.3.0-alpha08

18 Mei 2021

androidx.activity:activity:1.3.0-alpha08, androidx.activity:activity-compose:1.3.0-alpha08, dan androidx.activity:activity-ktx:1.3.0-alpha08 dirilis. Versi 1.3.0-alpha08 berisi commit berikut ini.

Fitur Baru

  • CaptureVideo ActivityResultContract baru menampilkan boolean ke ActivityResultCallback yang menunjukkan apakah video Anda berhasil disimpan ke URI yang diberikan. Ini menggantikan kontrak TakeVideo yang sekarang tidak digunakan lagi karena aplikasi kamera sangat jarang mendukung ditampilkannya bitmap thumbnail, sehingga hasilnya menjadi tidak bermanfaat. (Ie21f2, b/185938070)
  • Menambahkan API Activity#setPipAnimationHintView baru untuk memperbarui petunjuk persegi sumber PipParams setiap kali tampilan berpindah. (I9063d)

Perubahan API

  • Fungsi rememberLauncherForActivityResult kini menampilkan peluncur yang tidak lagi menggunakan fungsi unregister(). Pendaftaran dan pembatalan pendaftaran peluncur otomatis ditangani oleh rememberLauncherForActivityResult. (I2443e)

Kompatibilitas Compose

  • androidx.activity:activity-compose:1.3.0-alpha08 hanya kompatibel dengan Compose versi 1.0.0-beta07 dan yang lebih baru.

Versi 1.3.0-alpha07

21 April 2021

androidx.activity:activity:1.3.0-alpha07, androidx.activity:activity-compose:1.3.0-alpha07, dan androidx.activity:activity-ktx:1.3.0-alpha07 dirilis. Versi 1.3.0-alpha07 berisi commit berikut ini.

Perbaikan Bug

  • rememberLauncherForActivityResult kini menampilkan referensi stabil ke instance ActivityResultLauncher yang sama meskipun kontrak berubah karena rekomposisi. (Id2d6d)
  • Menggunakan versi Fragments yang tidak stabil di atas 1.3.0 tidak akan lagi melemparkan error lint positif palsu (PP) yang memberi tahu Anda untuk menggunakan 1.3.0. (aosp/1670206, b/184847092)

Versi 1.3.0-alpha06

7 April 2021

androidx.activity:activity:1.3.0-alpha06, androidx.activity:activity-compose:1.3.0-alpha06, dan androidx.activity:activity-ktx:1.3.0-alpha06 dirilis. Versi 1.3.0-alpha06 berisi commit berikut ini.

Perubahan API

  • API registerForActivityResult() telah diganti namanya menjadi rememberLauncherForActivityResult() untuk menunjukkan secara lebih baik bahwa ActivityResultLauncher yang ditampilkan adalah objek terkelola yang diingat atas nama Anda. Jika mencoba memanggil unregister, kini ActivityResultLauncher yang ditampilkan akan melemparkan error. (I2bb6d)
  • LocalOnBackPressedDispatcherOwner.current dan LocalActivityResultRegistryOwner.current kini menampilkan nilai nullable untuk menentukan secara lebih baik apakah nilai tersebut tersedia dalam komposisi saat ini. API yang memerlukan API tersebut, seperti BackHandler dan rememberLauncherForActivityResult(), kini masing-masing akan melemparkan error yang lebih deskriptif jika pemilik dasar tidak ditemukan. NavHost kini berfungsi meskipun OnBackPressedDispatcherOwner tidak ditemukan, sama kasusnya saat melihat pratinjau NavHost. (I7d8b4)

Perbaikan Bug

  • BackHandler kini akan menangkap penekanan kembali dengan semestinya saat Activity STOPPED, lalu STARTED lagi, dan callback lainnya ditambahkan dengan LifecycleOwner. (I71de6, b/182284739)
  • Menggunakan ekstensi metode launch() dengan ActivityResultContract kustom yang memiliki input Unit tidak akan lagi menyebabkan NullPointerException (I76282, b/183837954)

Versi 1.3.0-alpha05

24 Maret 2021

androidx.activity:activity:1.3.0-alpha05, androidx.activity:activity-compose:1.3.0-alpha05, dan androidx.activity:activity-ktx:1.3.0-alpha05 dirilis. Versi 1.3.0-alpha05 berisi commit berikut ini.

Perbaikan Bug

  • Dari Activity 1.2.2: Memperbaiki masalah dalam pemeriksaan lint InvalidFragmentVersionForActivityResult yang menyebabkan positif palsu (PP) saat menggunakan Fragment 1.3.1 atau yang lebih tinggi. (I54da1, b/182388985)
  • Dari Activity 1.2.2: ComponentActivity sekarang menghindari ClassNotFoundException saat meluncurkan Intent dari ActivityResultContract yang sebelumnya disimpan sebagai tambahan di Intent lain. (Ieff05, b/182906230)

Update Dependensi

Versi 1.3.0-alpha04

10 Maret 2021

androidx.activity:activity:1.3.0-alpha04, androidx.activity:activity-compose:1.3.0-alpha04, dan androidx.activity:activity-ktx:1.3.0-alpha04 dirilis. Versi 1.3.0-alpha04 berisi commit berikut.

Perbaikan Bug

  • Dari Activity 1.2.1: RequestMultiplePermissions sekarang selalu menampilkan hasil untuk semua izin yang diminta, bukan hanya izin yang sebelumnya tidak diberikan. (I50bc3, b/180884668)
  • Dari Activity 1.2.1: ActivityResultRegistry sekarang memastikan bahwa permintaan launch() yang sedang berlangsung akan menampilkan hasilnya meskipun Anda unregister(), lalu register() lagi dengan kunci yang sama. (I9ef34, b/181267562)
  • Activity Compose tidak lagi menambahkan dependensi pengujian ke classpath runtime. (Ifd8b3)
  • Memperbaiki masalah pada BackHandler ketika lambda onBack yang ditetapkan sebelumnya masih digunakan setelah rekomposisi. (8eb5eb)

Versi 1.3.0-alpha03

24 Februari 2021

androidx.activity:activity:1.3.0-alpha03, androidx.activity:activity-compose:1.3.0-alpha03, dan androidx.activity:activity-ktx:1.3.0-alpha03 dirilis. Versi 1.3.0-alpha03 berisi commit berikut ini.

Fitur Baru

  • Kini terdapat fungsi registerForActivityResult Composable untuk mendapatkan hasil dari aktivitas dalam composable. (Ia7851, b/172690553)

Perubahan API

  • LocalOnBackPressedDispatcherOwner sekarang memiliki fungsi provides yang dapat digunakan dengan CompositionLocalProvider, menggantikan asProvidableCompositionLocal() API. (I45d24)

Versi 1.3.0-alpha02

10 Februari 2021

androidx.activity:activity:1.3.0-alpha02, androidx.activity:activity-compose:1.3.0-alpha02, dan androidx.activity:activity-ktx:1.3.0-alpha02 dirilis. Versi 1.3.0-alpha02 berisi commit berikut.

Perbaikan Bug

  • Memperbaiki masalah di Activity Compose 1.3.0-alpha01 yang menyebabkan pengecualian NoSuchMethodError: No static method setContent saat menggunakan Compose 1.0.0-alpha12. Semua pengguna Compose harus bergantung pada 1.3.0-alpha02 dan yang lebih tinggi. (b/179911234)

Perubahan API

  • BackHandler API dapat digunakan untuk mengizinkan Composable guna menangkap tombol kembali sistem. (I58ed5, b/172154006)

Versi 1.3.0-alpha01

10 Februari 2021

androidx.activity:activity:1.3.0-alpha01, androidx.activity:activity-compose:1.3.0-alpha01, dan androidx.activity:activity-ktx:1.3.0-alpha01 dirilis. Versi 1.3.0-alpha01 berisi commit berikut.

Fitur Baru

  • Artefak activity-compose baru menyediakan helper khusus Jetpack Compose untuk API khusus androidx.activity.
    • ComponentActivity.setContent telah dipindahkan dari androidx.compose.ui.platform.setContent ke androidx.activity.compose.setContent. (Icf416)

Masalah Umum

  • Menggunakan Activity Compose 1.3.0-alpha01 dan library yang bergantung padanya, seperti androidx.compose.ui:ui-test-junit4:1.0.0-alpha12, akan menghasilkan pengecualian NoSuchMethodError: No static method setContent. (b/179911234)

Versi 1.2.4

Versi 1.2.4

1 Juli 2021

androidx.activity:activity:1.2.4 dan androidx.activity:activity-ktx:1.2.4 dirilis. Versi 1.2.4 berisi commit berikut ini.

Perbaikan Bug

Versi 1.2.3

Versi 1.2.3

5 Mei 2021

androidx.activity:activity:1.2.3 dan androidx.activity:activity-ktx:1.2.3 dirilis. Versi 1.2.3 berisi commit berikut ini.

Perbaikan Bug

  • Menggunakan ekstensi metode launch() dengan ActivityResultContract kustom yang memiliki input Unit tidak akan lagi menyebabkan NullPointerException (I76282, b/183837954)
  • Memperbaiki error lint positif palsu yang memberi tahu Anda untuk menggunakan Fragment 1.3.0 saat menggunakan build snapshot, alfa, beta, atau RC versi Fragment yang lebih baru. (f4a57e, b/184847092)

Versi 1.2.2

Versi 1.2.2

24 Maret 2021

androidx.activity:activity:1.2.2 dan androidx.activity:activity-ktx:1.2.2 dirilis. Versi 1.2.2 berisi commit berikut ini.

Perbaikan Bug

  • Memperbaiki masalah dalam pemeriksaan lint InvalidFragmentVersionForActivityResult yang menyebabkan positif palsu (PP) saat menggunakan Fragment 1.3.1 atau yang lebih tinggi. (I54da1, b/182388985)
  • ComponentActivity sekarang menghindari ClassNotFoundException saat meluncurkan Intent dari ActivityResultContract yang sebelumnya disimpan sebagai tambahan di Intent lain. (Ieff05, b/182906230)

Update Dependensi

Versi 1.2.1

Versi 1.2.1

10 Maret 2021

androidx.activity:activity:1.2.1 dan androidx.activity:activity-ktx:1.2.1 dirilis. Versi 1.2.1 berisi commit berikut ini.

Perbaikan Bug

  • RequestMultiplePermissions sekarang selalu menampilkan hasil untuk semua izin yang diminta, bukan hanya izin yang sebelumnya tidak diberikan. (I50bc3, b/180884668)
  • ActivityResultRegistry sekarang memastikan bahwa permintaan launch() yang sedang berlangsung akan menampilkan hasilnya meskipun Anda unregister(), lalu register() lagi dengan kunci yang sama. (I9ef34, b/181267562)

Versi 1.2.0

Versi 1.2.0

10 Februari 2021

androidx.activity:activity:1.2.0 dan androidx.activity:activity-ktx:1.2.0 dirilis. Versi 1.2.0 berisi commit berikut ini.

Perubahan utama sejak versi 1.1.0

  • Activity Result API: ComponentActivity kini menyediakan ActivityResultRegistry yang memungkinkan Anda menangani startActivityForResult()+onActivityResult() serta alur requestPermissions()+onRequestPermissionsResult() tanpa mengganti metode di Activity atau Fragment, memberikan peningkatan keamanan jenis melalui ActivityResultContract, dan menyediakan hook untuk menguji alur ini. Lihat Mendapatkan Hasil dari Activity terbaru.
  • ContextAware: ComponentActivity kini mengimplementasikan ContextAware sehingga Anda dapat menambahkan satu atau beberapa instance OnContextAvailableListener yang akan menerima callback sebelum Activity.onCreate() dasar.

    • Dengan ekstensi Kotlin withContextAvailable() yang ditangguhkan, Anda dapat menjalankan blok non-penangguhan saat Context tersedia dan menampilkan hasil.
    • API ini digunakan oleh FragmentActivity di Fragment 1.3.0 untuk memulihkan status FragmentManager. Setiap pemroses yang ditambahkan ke subclass FragmentActivity akan berjalan setelah pemroses tersebut.
    • API ini digunakan oleh AppCompatActivity di AppCompat 1.3.0-alpha02 atau yang lebih tinggi. Setiap pemroses yang ditambahkan ke subclass AppCompatActivity akan berjalan setelah pemroses tersebut.
  • Dukungan ViewTree: ComponentActivity sekarang mendukung ViewTreeLifecycleOwner.get(View), ViewTreeViewModelStoreOwner.get(View), dan ViewTreeSavedStateRegistryOwner API yang ditambahkan di Lifecycle 2.3.0 dan SavedState 1.1.0 sehingga API menampilkan Activity sebagai LifecycleOwner, ViewModelStoreOwner, dan SavedStateRegistryOwner untuk setiap View yang ditambahkan langsung ke ComponentActivity.

  • reportFullyDrawn() backport - Metode Activity dari reportFullyDrawn() telah di-backport dalam ComponentActivity agar berfungsi di semua API level, memperbaiki error pada API 19, dan menambahkan rekaman aktivitas untuk metode ini untuk semua API level.

Versi 1.2.0-rc01

16 Desember 2020

androidx.activity:activity:1.2.0-rc01 dan androidx.activity:activity-ktx:1.2.0-rc01 dirilis. Versi 1.2.0-rc01 berisi commit berikut.

Perbaikan Bug

  • Kini, ActivityResultRegistry selalu memulihkan status sama persis yang disimpan. (Idd56b)
  • Tambahkan rekaman aktivitas ke ComponentActivity.reportFullyDrawn (Ic7632)

Kontribusi Eksternal

  • ComponentActivity sekarang mengganti reportFullyDrawn(), yang memungkinkannya dipanggil di semua API level dan memperbaiki error saat memanggil metode ini tanpa izin sistem yang sesuai di perangkat API 19. Terima kasih, Simon Schiller! (b/163239764, #103)

Versi 1.2.0-beta02

2 Desember 2020

androidx.activity:activity:1.2.0-beta02 dan androidx.activity:activity-ktx:1.2.0-beta02 dirilis. Versi 1.2.0-beta02 berisi commit berikut ini.

Perbaikan Bug

  • Memperbaiki masalah saat Activity Result API tidak akan menunggu Lifecycle menjadi STARTED sebelum memberikan hasil saat terdaftar dengan Lifecycle. (I109ea)

Kontribusi Eksternal

  • Memperbarui dokumentasi untuk launch() agar secara eksplisit menyatakan bahwa perintah ini dapat melemparkan ActivityNotFoundException. Terima kasih Michał Zieliński! (aosp/1493580)

Versi 1.2.0-beta01

1 Oktober 2020

androidx.activity:activity:1.2.0-beta01 dan androidx.activity:activity-ktx:1.2.0-beta01 dirilis. Versi 1.2.0-beta01 berisi commit berikut ini.

Perbaikan Bug

  • ActivityResultRegistry sekarang menghasilkan bilangan bulat secara acak sampai menemukan bilangan yang tidak dialokasikan untuk digunakan sebagai register() kode permintaan, sehingga mencegah kemungkinan bilangan bulat berlebih yang disebabkan oleh peningkatan kode permintaan. (b/168779518)

  • Observer Lifecycle dihapus dengan benar saat memanggil unregister() di ActivityResultLauncher. (b/165608393)

Perubahan Perilaku

  • ActivityResultRegistry sekarang menampilkan IllegalStateException saat mencoba memanggil register() dengan LifecycleOwner yang Lifecycle-nya telah mencapai STARTED. (b/165435866)

Pembaruan Dokumentasi

  • Dokumentasi ContextAware ditautkan ke LifecycleOwner untuk menandai callback Lifecycle sebagai tempat yang tepat bagi peristiwa pembuatan dan penghancuran. (aosp/1414152)

Versi 1.2.0-alpha08

19 Agustus 2020

androidx.activity:activity:1.2.0-alpha08 dan androidx.activity:activity-ktx:1.2.0-alpha08 dirilis. Versi 1.2.0-alpha08 berisi commit berikut ini.

Fitur Baru

  • ComponentActivity kini mengimplementasikan ContextAware sehingga Anda dapat menambahkan satu atau beberapa instance OnContextAvailableListener yang akan menerima callback sebelum Activity.onCreate() dasar. (b/161390636)
    • Dengan ekstensi Kotlin withContextAvailable() yang ditangguhkan, Anda dapat menjalankan blok non-penangguhan saat Context tersedia dan menampilkan hasil. (I8290c)
    • API ini digunakan oleh FragmentActivity di Fragment 1.3.0-alpha08 untuk memulihkan status FragmentManager. Setiap pemroses yang ditambahkan ke subclass FragmentActivity akan berjalan setelah pemroses tersebut. (I513da)
    • API ini digunakan oleh AppCompatActivity di AppCompat 1.3.0-alpha02. Setiap pemroses yang ditambahkan ke subclass AppCompatActivity akan berjalan setelah pemroses tersebut. (I513da)

Perbaikan Bug

  • Memperbaiki masalah pemeriksaan Lint ActivityResultFragmentVersionDetector yang menyebabkannya terganggu saat menggunakan Lint 27.1.0 atau versi yang lebih baru. (b/162155191)

Versi 1.2.0-alpha07

22 Juli 2020

androidx.activity:activity:1.2.0-alpha07 dan androidx.activity:activity-ktx:1.2.0-alpha07 dirilis. Versi 1.2.0-alpha07 berisi commit berikut.

Fitur Baru

  • Menambahkan pemeriksaan lint InvalidFragmentVersionForActivityResult baru yang memverifikasi bahwa Anda menggunakan Fragment 1.3.0-alpha07 saat menggunakan Activity Result API, menghindari error runtime karena "kode permintaan tidak valid” dan permintaan izin yang tidak berfungsi akibat penggunaan versi Fragment yang lebih lama. (b/152554847)

Kontribusi Eksternal

  • Memperbaiki ArrayIndexOutOfBoundsException saat menguraikan hasil untuk kontrak Activity Result RequestPermission. (I8f9e3, b/161057605)

Versi 1.2.0-alpha06

10 Juni 2020

androidx.activity:activity:1.2.0-alpha06 dan androidx.activity:activity-ktx:1.2.0-alpha06 dirilis. Versi 1.2.0-alpha06 berisi commit berikut.

Fitur Baru

  • Anda kini dapat mengurai class ActivityResult dalam Kotlin untuk mengakses requestCode dan intent secara langsung. (b/157212935)
  • ActivityResultLauncher kini memungkinkan Anda mendapatkan ActivityResultContract yang digunakan untuk mendaftarkan peluncur. (b/156875743)

Perubahan API

  • Perubahan yang dapat menyebabkan gangguan: Metode invoke() pada ActivityResultRegistry telah diganti namanya menjadi onLaunch(). (b/157496491)
  • Kontrak OpenMultipleDocuments kini menampilkan daftar kosong, bukan null ke callback terdaftar jika tidak ada hasil yang ditampilkan. (b/157348014)

Versi 1.2.0-alpha05

20 Mei 2020

androidx.activity:activity:1.2.0-alpha05 dan androidx.activity:activity-ktx:1.2.0-alpha05 dirilis. Versi 1.2.0-alpha05 berisi commit berikut.

Fitur Baru

Perubahan API

  • Kontrak TakePicture kini menampilkan boolean yang menunjukkan keberhasilan, bukan thumbnail Bitmap karena sangat jarang didukung oleh aplikasi kamera saat menulis gambar ke Uri yang disediakan. (b/154302879)
  • Ekstensi invoke() di ActivityResultLauncher telah dihapus dan diganti dengan launch() secara eksplisit untuk menunjukkan dengan lebih baik bahwa ini adalah operasi asinkron. Ekstensi Kotlin untuk launch telah ditambahkan ke paket androidx.activity.result untuk ActivityResultLauncher<Void> dan ActivityResultLauncher<Unit> yang menghapus kebutuhan untuk meneruskan null atau Unit, yang mencerminkan perilaku dari ekstensi invoke() sebelumnya. (aosp/1304674, aosp/1304675)
  • Metode IntentSenderRequest.Builder untuk setFlagsMask() dan setFlagsValues() telah digabung menjadi satu metode setFlags(). (aosp/1302111)

Perbaikan Bug

  • Saat mendaftarkan ActivityResultCallback dengan LifecycleOwner, masalah ketika callback akan dipicu sebelum status mencapai STARTED telah diperbaiki. (aosp/1309744)

Perubahan Perilaku

  • ActivityResultRegistry sekarang menghasilkan kode permintaan yang dimulai dari 0xFFFF, bukan dari 0, yang mencegah tumpang-tindih saat menggunakan startActivityForResult() atau requestPermissions() dalam suatu aktivitas. (aosp/1302324)

Versi 1.2.0-alpha04

29 April 2020

androidx.activity:activity:1.2.0-alpha04 dan androidx.activity:activity-ktx:1.2.0-alpha04 dirilis. Versi 1.2.0-alpha04 berisi commit berikut ini.

Fitur Baru

  • Menambahkan kontrak yang dapat memanggil startIntentSenderForResult pada ActivityResult API. (b/153007517)

Perubahan API

  • Metode prepareCall() telah diganti namanya menjadi registerForActivityResult(), pada ComponentActivity di sini dan di Fragment 1.3.0-alpha04. (aosp/1278717)
  • Kontrak GetContents, OpenDocuments, dan RequestPermissions secara berurutan telah diganti namanya menjadi GetMultipleContents, OpenMultipleDocuments, dan RequestMultiplePermissions. (aosp/1280161)
  • ComponentActivity sekarang mengimplementasikan antarmuka ActivityResultRegisteryOwner. (aosp/1290888)
  • - startActivityForResult()/onActivityResult() dan onRequestPermissionsResult() API di ComponentActivity tidak digunakan lagi. Harap gunakan Activity Result API. (b/154751887)

Perbaikan Bug

  • Saat menggunakan kontrak GetMultipleContents dan OpenMultipleDocuments lalu memilih satu item, item tersebut kini ditampilkan dengan benar ke callback Anda. (b/152941153)

Versi 1.2.0-alpha03

1 April 2020

androidx.activity:activity:1.2.0-alpha03 dan androidx.activity:activity-ktx:1.2.0-alpha03 dirilis. Versi 1.2.0-alpha03 berisi commit berikut.

Fitur Baru

  • Menambahkan kontrak TakeVideo, PickContact, GetContent, GetContents, OpenDocument, OpenDocuments, OpenDocumentTree, dan CreateDocument pada sekumpulan kontrak yang dibuat sebelumnya yang disediakan oleh ActivityResultContracts. (aosp/1262482, aosp/1266916, aosp/1268960)
  • Activity Result API kini mendukung peluncuran aktivitas untuk hasil dengan ActivityOptionsCompat opsional. (b/151860054)

Perubahan API

  • Kontrak TakePicture kini memerlukan input Uri untuk destinasi penyimpanan gambar. Kontrak sebelumnya yang tidak memerlukan input apa pun telah diganti namanya menjadi TakePicturePreview. (aosp/1262482)
  • Metode registerActivityResultCallback() pada ActivityResultRegistry telah diganti namanya menjadi register(). (aosp/1267621)
  • Metode dispose() pada ActivityResultLauncher telah diganti namanya menjadi unregister() dan unregisterResultCallback() pada ActivityResultRegistry telah dihapus. (aosp/1267621)
  • Metode createIntent() ActivityResultContact kini memerlukan Context sebagai tambahan dari input untuk memungkinkan pembuatan Intent eksplisit. (aosp/1238800)
  • ActivityResultContract kini dapat mengganti getSynchronousResult() untuk memberikan hasil tanpa memanggil startActivityForResult. Kode ini digunakan oleh kontrak RequestPermission dan RequestPermissions untuk memberikan status 'diberikan' dengan benar jika izin yang diminta telah diberikan. (b/151110799)
  • Kontrak Dial yang sebelumnya tersedia telah dihapus karena Intent tidak dimaksudkan untuk digunakan dengan startActivityForResult(). (aosp/1266916)
  • Banyak Activity Result API yang tidak dimaksudkan untuk diperpanjang kini menjadi final. Ini termasuk getActivityResultRegistry(), metode prepareCall(), semua metode ActivityResultRegistry kecuali invoke(), dan sejumlah kontrak default yang tidak mendukung tambahan opsional. (b/152439361)

Perbaikan Bug

  • Memperbaiki NullPointerException pada ActivityResultRegistry saat mencoba menyampaikan hasil ke callback yang belum didaftarkan ulang setelah perubahan konfigurasi; ActivityResultRegistry kini berpegang pada hasil yang tertunda ini, lalu menyampaikannya saat callback didaftarkan ulang. (b/152137004)

Versi 1.2.0-alpha02

18 Maret 2020

androidx.activity:activity:1.2.0-alpha02 dan androidx.activity:activity-ktx:1.2.0-alpha02 dirilis. Versi 1.2.0-alpha02 berisi commit berikut.

Fitur Baru

  • ActivityResultRegistry: ComponentActivity kini menyediakan ActivityResultRegistry yang memungkinkan Anda menangani alur startActivityForResult()+onActivityResult() serta requestPermissions()+onRequestPermissionsResult() tanpa mengganti metode dalam Activity atau Fragment, yang meningkatkan keamanan jenis melalui ActivityResultContract, serta menyediakan hook untuk menguji alur ini. Lihat Mendapatkan Hasil dari Activity terbaru. (b/125158199)

Versi 1.2.0-alpha01

4 Maret 2020

androidx.activity:activity:1.2.0-alpha01 dan androidx.activity:activity-ktx:1.2.0-alpha01 dirilis. Versi 1.2.0-alpha01 berisi commit berikut.

Fitur Baru

  • Menambah dukungan untuk API ViewTreeLifecycleOwner.get(View) yang ditambahkan di Lifecycle 2.3.0-alpha01 sehingga API menampilkan Activity sebagai LifecycleOwner untuk semua Views yang ditambahkan langsung ke Activity. (aosp/1182955)

Perbaikan Bug

  • Memperbaiki regresi yang diperkenalkan di Activity 1.1.0 saat menjalankan versi platform yang lama karena onBackPressed() akan menyebabkan IllegalStateException akibat adanya bug di android.app.FragmentManager. (b/146290338)

Versi 1.1.0

Versi 1.1.0

22 Januari 2020

androidx.activity:activity:1.1.0 dirilis. Versi 1.1.0 berisi commit berikut ini.

Perubahan penting sejak versi 1.0.0

  • Integrasi Lifecycle ViewModel SavedState: SavedStateViewModelFactory sekarang menjadi setelan pabrik default yang digunakan saat menggunakan by viewModels(), konstruktor ViewModelProvider, atau ViewModelProviders.of() dengan ComponentActivity atau subclass-nya.

Versi 1.1.0-rc03

4 Desember 2019

androidx.activity:activity:1.1.0-rc03 dan androidx.activity:activity-ktx:1.1.0-rc03 dirilis. Versi 1.1.0-rc03 berisi commit berikut.

Perubahan dependensi

  • Activity sekarang bergantung pada Lifecycle 2.2.0-rc03 dan Lifecycle ViewModel SavedState 1.0.0-rc03.

Versi 1.1.0-rc02

7 November 2019

androidx.activity:activity:1.1.0-rc02 dan androidx.activity:activity-ktx:1.1.0-rc02 dirilis. Versi 1.1.0-rc02 berisi commit berikut ini.

Perubahan dependensi

  • Activity sekarang bergantung pada Lifecycle 2.2.0-rc02.

Versi 1.1.0-rc01

23 Oktober 2019

androidx.activity:activity:1.1.0-rc01 dan androidx.activity:activity-ktx:1.1.0-rc01 dirilis tanpa perubahan dari versi 1.1.0-beta01. Versi 1.1.0-rc01 berisi commit berikut ini.

Versi 1.1.0-beta01

9 Oktober 2019

androidx.activity:activity:1.1.0-beta01 dan androidx.activity:activity-ktx:1.1.0-beta01 dirilis. Versi 1.1.0-beta01 berisi commit berikut ini.

Perubahan dependensi

  • Activity sekarang bergantung pada SavedState 1.0.0 stabil.

Versi 1.1.0-alpha03

5 September 2019

androidx.activity:activity:1.1.0-alpha03 dan androidx.activity:activity-ktx:1.1.0-alpha03 dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.

Fitur baru

  • Activity sekarang bergantung pada Core 1.1.0 stabil.

Perbaikan bug

Versi 1.1.0-alpha02

7 Agustus 2019

androidx.activity:activity:1.1.0-alpha02 dan androidx.activity:activity-ktx:1.1.0-alpha02 dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.

Fitur baru

  • SavedStateViewModelFactory sekarang menjadi setelan pabrik default yang digunakan saat menggunakan by viewModels(), konstruktor ViewModelProvider, atau ViewModelProviders.of() dengan ComponentActivity (b/135716331)

Versi 1.1.0-alpha01

2 Juli 2019

androidx.activity:activity:1.1.0-alpha01 dan androidx.activity:activity-ktx:1.1.0-alpha01 dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.

Fitur baru

  • activity sekarang bergantung pada Lifecycle 2.2.0-alpha02. (aosp/1007817)
  • activity-ktx menambahkan dependensi pada lifecycle-runtime-ktx; Anda tidak perlu lagi menambahkannya secara eksplisit ke dependensi Anda saat menggunakan activity-ktx atau library yang bergantung pada activity-ktx (seperti fragment-ktx). (aosp/987162)

Versi 1.0.0

Versi 1.0.0

5 September 2019

androidx.activity:activity:1.0.0 dan androidx.activity:activity-ktx:1.0.0 dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.

Fitur Utama 1.0.0

  • ComponentActivity: ComponentActivity berfungsi sebagai class dasar baru untuk FragmentActivity dalam Fragment 1.1.0 dan, dengan demikian, AppCompatActivity dalam AppCompat 1.1.0.
  • activity-ktx: Modul activity-ktx mencakup ekstensi properti Kotlin by viewModels untuk mengakses ViewModels. Modul ini otomatis disertakan saat Anda menyertakan fragment-ktx dari Fragment 1.1.0.
  • OnBackPressedDispatcher: Sebagai alternatif composable dari penggantian onBackPressed(), sekarang Anda dapat mendaftarkan OnBackPressedCallback dari LifecycleOwner mana pun (misalnya fragmen) untuk mengintersep peristiwa tombol kembali sistem. Lambda dengan penerima versi addCallback telah ditambahkan ke activity-ktx. Lihat Menyediakan dokumentasi navigasi kembali kustom untuk detail selengkapnya.
  • Penghentian onRetainCustomNonConfigurationInstance : onRetainCustomNonConfigurationInstance() dan getLastCustomNonConfigurationInstance() API yang terkait telah dihentikan penggunaannya. Sebaiknya gunakan ViewModels untuk menyimpan keadaan non-konfigurasi, karena menawarkan solusi composable dan sesuai untuk semua ViewModelStoreOwner yang memperjelas kepemilikan objek yang dipertahankan serta memberikan callback onCleared() untuk membersihkan resource saat aktivitas tersebut akhirnya dimusnahkan.

Versi 1.0.0-rc01

2 Juli 2019

androidx.activity:activity:1.0.0-rc01 dan androidx.activity:activity-ktx:1.0.0-rc01 dirilis tanpa perubahan dari versi 1.0.0-beta01. Commit yang disertakan dalam versi ini dapat dilihat di sini.

Versi 1.0.0-beta01

5 Juni 2019

androidx.activity::activity:1.0.0-beta01 dan androidx.activity:activity-ktx:1.0.0-beta01 dirilis tanpa perubahan dari versi 1.0.0-alpha08. Commit yang disertakan dalam versi ini dapat dilihat di sini.

Versi 1.0.0-alpha08

7 Mei 2019

androidx.activity:activity:1.0.0-alpha08 dan androidx.activity:activity-ktx:1.0.0-alpha08 dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.

Perubahan API

  • Perubahan yang dapat menyebabkan gangguan: Metode addOnBackPressedCallback dan removeOnBackPressedCallback yang sebelumnya tidak digunakan lagi dalam ComponentActivity telah dihapus. aosp/953857
  • Metode setEnabled() dan isEnabled() dari OnBackPressedCallback sekarang sudah final. b/131416833
  • Metode remove() dari OnBackPressedCallback sekarang sudah final. aosp/952720
  • OnBackPressedDispatcher sekarang memiliki konstruktor publik, sehingga Anda dapat membuat instance Anda sendiri untuk pengujian, dll. aosp/953431
  • onBackPressed() untuk ComponentActivity sekarang secara eksplisit ditandai sebagai @MainThread aosp/952721

Perbaikan bug

  • Memperbaiki ConcurrentModificationException saat memanggil remove() dari dalam metode handleOnBackPressed() dari OnBackPressedCalback yang ditambahkan dengan LifecycleOwner. b/131765095

Versi 1.0.0-alpha07

25 April 2019

androidx.activity:activity:1.0.0-alpha07 dan androidx.activity:activity-ktx:1.0.0-alpha07 dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.

Perubahan API

Rilis ini membuat perubahan signifikan pada penanganan onBackPressed(). Lihat dokumentasi kembali kustom yang diperbarui untuk detail selengkapnya.

  • Metode untuk OnBackPressedCallback dan OnBackPressedDispatcher telah ditandai sebagai @MainThread. (aosp/943813)
  • Metode handleOnBackPressed() tidak lagi menampilkan boolean. Sebagai gantinya, OnBackPressedCallback sekarang merupakan class abstrak yang dapat diaktifkan atau dinonaktifkan - handleOnBackPressed() hanya akan dipanggil saat metode isEnabled() baru menampilkan true. Dalam hal ini, Anda harus menangani tombol kembali. (aosp/944518)
  • Metode addCallback OnBackPressedDispatcher tidak lagi menampilkan instance Cancellable. OnBackPressedCallback sekarang berisi metode remove() yang memenuhi fungsionalitas ini, yang memungkinkan Anda memanggil remove() selama handleOnBackPressed(). (aosp/944519) (aosp/946316)
  • activity-ktx sekarang berisi callback yang dibatasi penerima untuk addCallback yang menerima lamdba yang mengimplementasikan handleOnBackPressed() serta memiliki akses ke isEnabled dan remove() (aosp/944520)

Versi 1.0.0-alpha06

3 April 2019

androidx.activity:activity:1.0.0-alpha06 dan androidx.activity:activity-ktx:1.0.0-alpha06 dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.

Perubahan API

  • ComponentActivity sekarang berisi konstruktor kedua yang menggunakan @LayoutRes int, menggantikan perilaku sebelumnya yang menganotasi class AppCompatActivity dengan @ContentView. Pendekatan ini berfungsi baik dalam modul library maupun aplikasi. (b/128352521)
  • API terkait OnBackPressedCallback pada ComponentActivity tidak digunakan lagi dan digantikan dengan OnBackPressedDispatcher baru, yang dapat diambil melalui getOnBackPressedDispatcher(). (aosp/922523)
  • Metode untuk menambahkan OnBackPressedCallback baru ke OnBackPressedDispatcher sekarang menampilkan objek Cancellable, yang memungkinkan penghapusan callback tanpa memerlukan referensi eksplisit ke OnBackPressedDispatcher. (aosp/922523)
  • Penambahan OnBackPressedCallback dengan LifecycleOwner yang terkait sekarang menghasilkan penambahan dan penghapusan OnBackPressedCallback saat Lifecycle dimulai dan dihentikan. (aosp/922523)

Versi 1.0.0-alpha05

13 Maret 2019

androidx.activity:activity:1.0.0-alpha05 dan androidx.activity:activity-ktx:1.0.0-alpha05 dirilis. Daftar lengkap commit yang disertakan dalam rilis ini dapat dilihat di sini.

Fitur baru

  • Penelusuran anotasi @ContentView kini disimpan dalam cache (b/123709449)

Versi 1.0.0-alpha04

30 Januari 2019

androidx.activity:activity 1.0.0-alpha04 dan androidx.activity:activity-ktx 1.0.0-alpha04 dirilis.

Fitur baru

  • Menambahkan dukungan untuk anotasi class @ContentView yang memungkinkan Anda menunjukkan file XML tata letak yang perlu di-inflate sebagai alternatif penggunaan setContentView(). (aosp/837619)

Perubahan API

  • Menambahkan catatan bahwa getViewModelStore() tidak boleh diganti dan akan dijadikan versi final dalam rilis mendatang. Harap ajukan permintaan fitur jika saat ini Anda mengganti metode ini. (aosp/837619)

Perbaikan bug

  • Modul activity sekarang bergantung pada ViewModel versi 2.1.0-alpha02 agar sesuai dengan dependensi modul activity-ktx.

Versi 1.0.0-alpha03

17 Desember 2018

androidx.activity 1.0.0-alpha03 dirilis.

Fitur baru

  • ComponentActivity sekarang mengimplementasikan BundleSavedStateRegistryOwner dan bergantung pada library SavedState yang baru dirilis [aosp/815133]
  • ComponentActivity sekarang menyelesaikan bug framework Android yang akan menyebabkan InputMethodManager membocorkan tampilan terfokus terakhir [b/37122102]

Versi 1.0.0-alpha02

3 Desember 2018

Perubahan API

  • Menambahkan catatan bahwa getLifecycle() tidak boleh diganti dan akan dijadikan final dalam rilis mendatang. Harap ajukan permintaan fitur jika saat ini Anda mengganti metode ini. (aosp/815834)

Versi 1.0.0-alpha01

5 November 2018

androidx.activity 1.0.0-alpha01 memperkenalkan ComponentActivity, sebuah class dasar baru dari FragmentActivity dan AppCompatActivity yang ada.

Fitur baru

  • Anda kini dapat mendaftarkan OnBackPressedCallback melalui addOnBackPressedCallback untuk menerima callback onBackPressed() tanpa perlu mengganti metode dalam aktivitas Anda.
  • Menambahkan delegasi properti Kotlin by viewModels() baru untuk mengambil ViewModel dari ComponentActivity.
  • Peristiwa input yang tertunda (seperti klik) sekarang dibatalkan di onStop().

Perubahan API

  • Implementasi LifecycleOwner dan ViewModelStoreOwner telah dialihkan dari FragmentActivity ke ComponentActivity.
  • onRetainCustomNonConfigurationInstance tidak digunakan lagi. Gunakan ViewModel untuk menyimpan objek yang perlu dipertahankan meskipun konfigurasi diubah.