Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Activity

Mengakses API yang dapat dikomposisi yang dibuat dari Activity.
Update Terbaru Rilis Stabil Saat Ini Kandidat Rilis Berikutnya Rilis Beta Rilis Alfa
19 Agustus 2020 1.1.0 - - 1.2.0-alpha08

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:

    dependencies {
        def activity_version = "1.1.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 memiliki ide untuk meningkatkan kualitas library ini. Harap lihat masalah yang ada di library ini sebelum Anda membuat laporan baru. Anda dapat memberikan suara pada masalah yang ada dengan mengklik tombol bintang.

Melaporkan masalah baru

Baca dokumentasi Issue Tracker untuk mengetahui informasi selengkapnya.

Versi 1.2.0

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 tinggi. (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 waktu proses karena "kode permintaan tidak valid” dan permintaan izin yang tidak berfungsi akibat penggunaan versi Fragmen yang lebih lama. (b/152554847)

Kontribusi Eksternal

  • Memperbaiki ArrayIndexOutOfBoundsException saat menguraikan hasil untuk kontrak Hasil Aktivitas 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 di 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 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 API pada ActivityResult API. (b/153007517)

Perubahan API

  • Metode prepareCall() telah diganti namanya menjadi registerForActivityResult(), pada ComponentActivity di sini dan di Fragmen 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 Aktivitas 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 mengembalikan Activity sebagai LifecycleOwner untuk semua Tampilan 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 Versi 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 Fragmen 1.1.0.
  • OnBackPressedDispatcher: Sebagai alternatif yang dapat disusun dari penggantian onBackPressed(), sekarang Anda dapat mendaftarkan OnBackPressedCallback dari LifecycleOwner mana pun (misalnya fragment) 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 API getLastCustomNonConfigurationInstance() yang terkait telah dihentikan penggunaannya. Sebaiknya gunakan ViewModels untuk menyimpan keadaan non-konfigurasi, karena menawarkan solusi yang dapat disusun 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 constructor 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 lambda 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 constructor 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 mana 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.