Activity (Hoạt động)

Truy cập vào các API có thể kết hợp, được xây dựng dựa trên Hoạt động (Activity).
Bản cập nhật mới nhất Bản phát hành ổn định Bản phát hành dùng thử Bản phát hành beta Bản phát hành alpha
Ngày 11 tháng 5 năm 2022 1.4.0 1.5.0-rc01 - 1.6.0-alpha03

Khai báo phần phụ thuộc

Để thêm phần phụ thuộc trên Hoạt động, bạn phải thêm kho lưu trữ Google Maven vào dự án. Đọc nội dung Kho lưu trữ Maven của Google để biết thêm thông tin.

Thêm các phần phụ thuộc cho cấu phần phần mềm bạn cần trong tệp build.gradle cho ứng dụng hoặc mô-đun:

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")
}

Để biết thêm thông tin về các phần phụ thuộc, hãy xem phần Thêm phần phụ thuộc của bản dựng.

Ý kiến phản hồi

Phản hồi của bạn có thể giúp chúng tôi cải thiện Jetpack. Hãy cho chúng tôi biết nếu bạn phát hiện lỗi mới hoặc có ý tưởng cải thiện thư viện này. Vui lòng xem các lỗi hiện có trong thư viện này trước khi báo một lỗi mới. Bạn có thể thêm lượt bình chọn cho lỗi hiện có bằng cách nhấp vào nút dấu sao.

Báo lỗi mới

Xem tài liệu về Công cụ theo dõi lỗi để biết thêm thông tin.

Phiên bản 1.6.0

Phiên bản 1.6.0-alpha03

Ngày 27 tháng 4 năm 2022

Phát hành androidx.activity:activity:1.6.0-alpha03, androidx.activity:activity-compose:1.6.0-alpha03androidx.activity:activity-ktx:1.6.0-alpha03.

  • Lưu ý: Phiên bản này sẽ chỉ biên dịch theo SDK dành cho Nhà phát triển Android 13 Beta.

Tính năng mới

  • Đã thêm ActivityResultContracts.PickVisualMediaActivityResultContracts.PickMultipleVisualMedia để cung cấp một hợp đồng tương thích ngược sử dụng MediaStore.ACTION_PICK_IMAGES khi Bộ chọn ảnh có sẵn và Intent.ACTION_OPEN_DOCUMENT khi không có sẵn.
  • Các thay đổi tích hợp trong Android 13 Dev Beta 1 vào ComponentActivity.

Phiên bản 1.6.0-alpha01

Ngày 23 tháng 3 năm 2022

Phát hành androidx.activity:activity:1.6.0-alpha01, androidx.activity:activity-compose:1.6.0-alpha01androidx.activity:activity-ktx:1.6.0-alpha01.

  • Lưu ý: Phiên bản này sẽ chỉ biên dịch theo SDK Xem trước dành cho Nhà phát triển Android 13.

Tính năng mới

  • Các thay đổi tích hợp trong Android 13 Dev Preview 2 vào ComponentActivity.

Phiên bản 1.5.0

Phiên bản 1.5.0-rc01

Ngày 11 tháng 5 năm 2022

androidx.activity:activity:1.5.0-rc01, androidx.activity:activity-compose:1.5.0-rc01androidx.activity:activity-ktx:1.5.0-rc01 được phát hành mà không có thay đổi nào từ kể phiên bản 1.5.0-beta01. Phiên bản 1.5.0-rc01 bao gồm bao gồm các thay đổi sau.

Phiên bản 1.5.0-beta01

Ngày 20 tháng 4 năm 2022

Phát hành androidx.activity:activity:1.5.0-beta01, androidx.activity:activity-compose:1.5.0-beta01androidx.activity:activity-ktx:1.5.0-beta01. Phiên bản 1.5.0-beta01 bao gồm các thay đổi sau.

Thông tin cập nhật về phần phụ thuộc

Phiên bản 1.5.0-alpha05

Ngày 6 tháng 4 năm 2022

Phát hành androidx.activity:activity:1.5.0-alpha05, androidx.activity:activity-compose:1.5.0-alpha05androidx.activity:activity-ktx:1.5.0-alpha05. Phiên bản 1.5.0-alpha05 bao gồm các thay đổi sau.

Sửa lỗi

  • Giờ đây, onPanelClosed() của ComponentActivity cũng gọi cho lớp cấp trên onPanelClosed(), điều này khắc phục sự cố không gọi được phương thức onContextMenuClosed. (Ib6f77)

Phiên bản 1.5.0-alpha04

Ngày 23 tháng 3 năm 2022

Phát hành androidx.activity:activity:1.5.0-alpha04, androidx.activity:activity-compose:1.5.0-alpha04androidx.activity:activity-ktx:1.5.0-alpha04. Phiên bản 1.5.0-alpha04 bao gồm các thay đổi sau.

Sửa lỗi

  • SavedStateViewFactory hiện hỗ trợ việc sử dụng CreationExtras ngay cả khi được khởi tạo bằng SavedStateRegistryOwner. Nếu bạn cung cấp thông số bổ sung, các đối số đã khởi tạo sẽ bị bỏ qua. (I6c43b, b/224844583)

Phiên bản 1.5.0-alpha03

Ngày 23 tháng 2 năm 2022

Phát hành androidx.activity:activity:1.5.0-alpha03, androidx.activity:activity-compose:1.5.0-alpha03, và androidx.activity:activity-ktx:1.5.0-alpha03. Phiên bản 1.5.0-alpha03 bao gồm các thay đổi sau.

Thay đổi về API

  • Bây giờ, bạn có thể chuyển CreationExtras vào hàm by viewModels() hoạt động (I6a3e6, b/217600303)

Phiên bản 1.5.0-alpha02

Ngày 9 tháng 2 năm 2022

Phát hành androidx.activity:activity:1.5.0-alpha02, androidx.activity:activity-compose:1.5.0-alpha02androidx.activity:activity-ktx:1.5.0-alpha02. Phiên bản 1.5.0-alpha02 bao gồm các thay đổi sau.

Tính năng mới

  • ComponentActivity hiện triển khai giao diện OnPictureInPictureModeChangedProvider để cho phép mọi thành phần nhận các sự kiện thay đổi chế độ hình trong hình. (I9f567)
  • ComponentActivity nay triển khai giao diện OnMultiWindowModeChangedProvider để cho phép mọi thành phần nhận được các sự kiện thay đổi chế độ nhiều cửa sổ. (I62d91)

Phiên bản 1.5.0-alpha01

Ngày 26 tháng 1 năm 2022

Phát hành androidx.activity:activity:1.5.0-alpha01, androidx.activity:activity-compose:1.5.0-alpha01androidx.activity:activity-ktx:1.5.0-alpha01. Phiên bản 1.5.0-alpha01 bao gồm các thay đổi sau.

Tính năng mới

  • ComponentActivity nay tích hợp với ViewModel CreatorsExtras, được giới là một phần của Vòng đời 2.5.0-alpha01. (Ie7e00, b/207012584)
  • Thêm ComponentDialog, một lớp con của Dialog bao gồm OnBackPressedDispatcher sẽ được gọi khi người dùng nhấn nút quay lại của hệ thống khi hộp thoại hiển thị. Một điều quan trọng là lớp con này cũng đặt ViewTreeOnBackPressedDispatcherOwner, cho phép các thành phần hiển thị truy xuất trình điều phối chính xác theo một cách tổng quát cho dù tệp đó có trong ComponentActivity hay ComponentDialog. (I8a1bc)
  • ComponentActivity nay triển khai giao diện OnNewIntentProvider mới để cho phép mọi thành phần nhận được những sự kiện này. (If1f8b)
  • ComponentActivity nay triển khai giao diện OnConfigurationChangedProvider mới để cho phép mọi thành phần nhận được những sự kiện này. (If623b)
  • ComponentActivity nay triển khai giao diện OnTrimMemoryProvider mới để cho phép mọi thành phần nhận các sự kiện này. (Ia9295)

Thay đổi về API

  • Hàm khởi tạo không có tham số cho ActivityResultContracts.CreateDocument đã không còn được dùng và thay thế bằng một hàm khởi tạo mới sử dụng loại mime cụ thể (ví dụ: "image/png") theo yêu cầu của Intent.ACTION_CREATE_DOCUMENT. (I2bec6)
  • OnBackPressedDispatcherOwner liên kết với một thành phần hiển thị hiện có thể được truy xuất qua ViewTreeOnBackPressedDispatcherOwner, thay vì dựa vào việc truyền Context. (I74685)

Sửa lỗi

  • Khắc phục sự cố khi truy cập vàoViewModel lần đầu tiên từ lệnh gọi lại registerForActivityResult() hoặc lệnh gọi lại đếnLifecycleObserver Thêm như một phần của init của ComponentActivity , (Ife83f)

Phiên bản 1.4.0

Phiên bản 1.4.0

Ngày 27 tháng 10 năm 2021

Phát hành androidx.activity:activity:1.4.0, androidx.activity:activity-compose:1.4.0androidx.activity:activity-ktx:1.4.0. Phiên bản 1.4.0 bao gồm các thay đổi sau.

Thay đổi quan trọng kể từ phiên bản 1.3.0

  • AndroidX ComponentActivity hiện triển khai giao diện MenuHost. Thao tác này cho phép mọi thành phần thêm các mục trong trình đơn vào ActionBar bằng cách thêm một sao bản MenuProvider vào hoạt động. Bạn có thể thêm mỗi MenuProvider bằng một Lifecycle với khả năng tự động kiểm soát chế độ hiển thị của các mục trong trình đơn đó dựa trên trạng thái Lifecycle, đồng thời xử lý việc xoá MenuProvider khi Lifecycle bị huỷ.
  • Lớp ActivityResultContract đã được viết lại trong Kotlin để đảm bảo rằng các nhà phát triển viết hợp đồng tuỳ chỉnh trong Kotlin có thể xác định giá trị rỗng chính xác cho các lớp đầu vào và đầu ra của họ.
  • Lớp ActivityResultContracts và các hợp đồng của lớp này đã được viết lại trong Kotlin để đảm bảo thuộc tính rỗng phù hợp.

Phiên bản 1.4.0-rc01

Ngày 13 tháng 10 năm 2021

Phát hành androidx.activity:activity:1.4.0-rc01, androidx.activity:activity-compose:1.4.0-rc01androidx.activity:activity-ktx:1.4.0-rc01. Phiên bản 1.4.0-rc01 bao gồm các thay đổi sau.

Sửa lỗi

  • ActivityResultRegistry sẽ không trả về kết quả cho ActivityResultCallback nữa khi lệnh gọi launch gửi bất kỳ Exception nào. (If4f91, b/200845664)

Phiên bản 1.4.0-beta01

Ngày 29 tháng 9 năm 2021

Phát hành androidx.activity:activity:1.4.0-beta01, androidx.activity:activity-compose:1.4.0-beta01androidx.activity:activity-ktx:1.4.0-beta01. Phiên bản 1.4.0-beta01 bao gồm các thay đổi sau.

Thay đổi về API

  • Đã cố định loại cho ActivityResultContracts.OpenMultipleDocumentsActivityResultContracts.GetMultipleContents dẫn đến việc sử dụng loại đầu ra là List<? extends Uri> khi sử dụng mã từ ngôn ngữ lập trình Java. (If71de)
  • Hằng số công khai trong các lớp ActivityResultContracts.StartActivityForResult, ActivityResultContracts.StartIntentSenderForResultActivityResultContracts.RequestMultiplePermissions hiện có thể truy cập được khi sử dụng Kotlin thông qua các đối tượng Companion công khai. (aosp/1832555)

Các bản cập nhật tài liệu

  • Thông báo về việc ngừng sử dụng những API này nay được xử lý bởi Activity Result API, cụ thể là startActivityForResult, startIntentSenderForResult, onActivityResult, requestPermissionsonRequestPermissionsResult) đã được mở rộng với nhiều chi tiết hơn. (cce80f)

Phiên bản 1.4.0-alpha02

Ngày 15 tháng 9 năm 2021

Phát hành androidx.activity:activity:1.4.0-alpha02, androidx.activity:activity-compose:1.4.0-alpha02androidx.activity:activity-ktx:1.4.0-alpha02. Phiên bản 1.4.0-alpha02 bao gồm các thay đổi sau.

Tính năng mới

  • Cấu phần phần mềm activity-compose hiện chứa lỗi tìm mã nguồn LaunchDuringComposition khiến bạn không thể gọi phương thức launch của ActivityResultLauncher như một phần của cấu trúc vì cấu trúc không nên có hiệu ứng phụ. Sử dụng API để xử lý các tác dụng phụ. (7c2bbe, b/191347220)

Thay đổi về API

  • Lớp ActivityResultContract đã được viết lại trong Kotlin để đảm bảo rằng các nhà phát triển viết hợp đồng tuỳ chỉnh trong Kotlin có thể xác định thuộc tính rỗng chính xác cho các lớp đầu vào và đầu ra của họ. (I8a8f5)
  • Lớp ActivityResultContracts và các hợp đồng của lớp này đã được viết lại trong Kotlin để đảm bảo thuộc tính rỗng chính xác. (I69802)

Phiên bản 1.4.0-alpha01

Ngày 1 tháng 9 năm 2021

Phát hành androidx.activity:activity:1.4.0-alpha01, androidx.activity:activity-compose:1.4.0-alpha01androidx.activity:activity-ktx:1.4.0-alpha01. Phiên bản 1.4.0-alpha01 bao gồm các thay đổi sau.

Tính năng mới

  • AndroidX ComponentActivity hiện triển khai giao diện MenuHost. Thao tác này cho phép mọi thành phần thêm các mục trong trình đơn vào ActionBar bằng cách thêm một bản sao MenuProvider vào hoạt động. Bạn có thể thêm mỗi MenuProvider bằng một Lifecycle với khả năng tự động kiểm soát chế độ hiển thị của các mục trong trình đơn đó dựa trên trạng thái Lifecycle, đồng thời xử lý việc xoá MenuProvider khi Lifecycle bị huỷ. (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)
  }

Các thay đổi về hành vi

  • ActivityResultRegistry hiện sẽ gửi một IllegalStateException khi cố gắng gọi launch() trên ActivityResultLauncher chưa được đăng ký hoặc đã được huỷ đăng ký. (Ida75d, b/192567522)

Đóng góp bên ngoài

  • Cảm ơn dmitrilc Khắc phục lỗi chính tả trong tài liệu của ActivityResult. (#221)

Phiên bản 1.3.1

Phiên bản 1.3.1

Ngày 4 tháng 8 năm 2021

Phát hành androidx.activity:activity:1.3.1, androidx.activity:activity-compose:1.3.1androidx.activity:activity-ktx:1.3.1. Phiên bản 1.3.1 bao gồm các thay đổi sau.

Thông tin cập nhật về phần phụ thuộc

  • Activity hiện phụ thuộc vào Kotlin 1.5.21.
  • Hiện tại, Activity Compose hoạt động phụ thuộc vào Compose 1.0.1.

Phiên bản 1.3.0

Phiên bản 1.3.0

Ngày 28 tháng 7 năm 2021

Phát hành androidx.activity:activity:1.3.0, androidx.activity:activity-compose:1.3.0androidx.activity:activity-ktx:1.3.0. Phiên bản 1.3.0 bao gồm các thay đổi sau.

Những thay đổi quan trọng kể từ phiên bản 1.2.0

  • Cấu phần phần mềm Activity Compose – Cấu phần phần mềm activity-compose cung cấp phương thức tiện ích mở rộng setContent để lưu trữ Giao diện người dùng Compose của bạn trong một hoạt động và trình bao bọc Compose cụ thể để tương tác với API ComponentActivity để xử lý nút quay lại hệ thống và Activity Result API. Hãy xem tài liệu để biết thêm chi tiết.
  • Hợp đồng CaptureVideoCaptureVideo ActivityResultContract sẽ thay thế hợp đồng TakeVideo hiện không được dùng nữa và trả về một Boolean thành công hoạt động trên nhiều ứng dụng máy ảnh.
  • Theo dõi lượt xem gợi ý trong Hình trong hình: Người dùng activity-ktx hiện có thể sử dụng phương thức mở rộng trackPipAnimationHintView trên Activity để tự động tạo lại PictureInPictureParams bằng vị trí mới của thành phần hiển thị khi nó thay đổi vị trí tương ứng với cửa sổ.

Phiên bản 1.3.0-rc02

Ngày 14 tháng 7 năm 2021

Phát hành androidx.activity:activity:1.3.0-rc02, androidx.activity:activity-compose:1.3.0-rc02androidx.activity:activity-ktx:1.3.0-rc02. Phiên bản 1.3.0-rc02 bao gồm các thay đổi sau.

Sửa lỗi

  • Các lệnh gọi lại ActivityResultRegistry nay được lưu và khôi phục đúng cách để các lệnh gọi lại không bị trùng lặp trong savedState. (I97816, b/191893160)

Phiên bản 1.3.0-rc01

Ngày 1 tháng 7 năm 2021

Phát hành androidx.activity:activity:1.3.0-rc01, androidx.activity:activity-compose:1.3.0-rc01androidx.activity:activity-ktx:1.3.0-rc01 mà không có thay đổi nào từ 1.3.0-beta02. Phiên bản 1.3.0-rc01 bao gồm các thay đổi sau.

Phiên bản 1.3.0-beta02

Ngày 16 tháng 6 năm 2021

Phát hành androidx.activity:activity:1.3.0-beta02, androidx.activity:activity-compose:1.3.0-beta02androidx.activity:activity-ktx:1.3.0-beta02. Phiên bản beta 1.3.0-beta02 bao gồm các thay đổi sau.

Cập nhật activity-compose để tuỳ thuộc vào Compose 1.0.0-beta09. androidx.compose.ui:ui-test-junit4 nay có phần phụ thuộc thời gian biên dịch vào activity-compose.

Phiên bản 1.3.0-beta01

Ngày 2 tháng 6 năm 2021

Phát hành androidx.activity:activity:1.3.0-beta01, androidx.activity:activity-compose:1.3.0-beta01androidx.activity:activity-ktx:1.3.0-beta01. Phiên bản 1.3.0-beta01 bao gồm các thay đổi sau.

Thay đổi về API

  • Phương thức @Composable registerForActivityResult() không dùng nữa trước đó đã bị xoá. Vui lòng sử dụng rememberLauncherForActivityResult(). (Ic39d3)

Phiên bản 1.3.0-alpha08

Ngày 18 tháng 5 năm 2021

Phát hành androidx.activity:activity:1.3.0-alpha08, androidx.activity:activity-compose:1.3.0-alpha08androidx.activity:activity-ktx:1.3.0-alpha08. Phiên bản 1.3.0-alpha08 bao gồm các thay đổi sau.

Tính năng mới

  • CaptureVideo ActivityResultContract mới sẽ trả về một boolean cho ActivityResultCallback của bạn, cho biết video của bạn đã được lưu thành công vào URI đã cho hay chưa. Thao tác này sẽ thay thế hợp đồng TakeVideo hiện không được dùng nữa vì các ứng dụng máy ảnh rất hiếm khi được hỗ trợ để trả về một bitmap thu nhỏ, khiến kết quả không hữu ích. (Ie21f2, b/185938070)
  • Thêm API Activity#setPipAnimationHintView mới để cập nhật gợi ý nguồn của PipParams mỗi khi thành phần hiển thị di chuyển. (I9063d)

Thay đổi về API

  • Hàm rememberLauncherForActivityResult hiện trả về một trình chạy không còn sử dụng việc đăng ký hàm unregister() nữa. và huỷ đăng ký trình chạy sẽ do rememberLauncherForActivityResult xử lý tự động. (I2443e)

Khả năng tương thích với ứng dụng Compose

  • androidx.activity:activity-compose:1.3.0-alpha08 chỉ tương thích với ứng dụng Compose phiên bản 1.0.0-beta07 trở lên.

Phiên bản 1.3.0-alpha07

Ngày 21 tháng 4 năm 2021

Phát hành androidx.activity:activity:1.3.0-alpha07, androidx.activity:activity-compose:1.3.0-alpha07androidx.activity:activity-ktx:1.3.0-alpha07. Phiên bản 1.3.0-alpha07 bao gồm các thay đổi sau.

Sửa lỗi

  • rememberLauncherForActivityResult hiện sẽ trả về tệp tham chiếu ổn định cho cùng một bản sao ActivityResultLauncher ngay cả khi hợp đồng thay đổi do các bản tái cấu trúc. (Id2d6d)
  • Việc sử dụng các phiên bản Mảnh (Fragment) không ổn định ở trên 1.3.0 sẽ không còn gây ra lỗi mã nguồn nhận dạng sai cho biết bạn nên sử dụng 1.3.0. (aosp/1670206, b/184847092)

Phiên bản 1.3.0-alpha06

Ngày 7 tháng 4 năm 2021

Phát hành androidx.activity:activity:1.3.0-alpha06, androidx.activity:activity-compose:1.3.0-alpha06androidx.activity:activity-ktx:1.3.0-alpha06. Phiên bản 1.3.0-alpha06 bao gồm các thay đổi sau.

Thay đổi về API

  • API registerForActivityResult() đã được đổi tên thành rememberLauncherForActivityResult() để cho biết rõ hơn là ActivityResultLauncher được trả về là một đối tượng được quản lý mà được hệ thống ghi nhớ thay mặt bạn. Nếu bạn cố gắng gọi cho unregister, ActivityResultLauncher được trả về sẽ gặp lỗi. (I2bb6d)
  • LocalOnBackPressedDispatcherOwner.currentLocalActivityResultRegistryOwner.current hiện trả về một giá trị rỗng để xác định rõ hơn liệu giá trị đó có trong cấu trúc hiện tại hay không. Các API yêu cầu các API đó, chẳng hạn như BackHandlerrememberLauncherForActivityResult(), tương ứng, sẽ hiển thị lỗi mô tả cụ thể hơn nếu không tìm thấy chủ sở hữu cơ sở. NavHost hiện hoạt động ngay cả khi không tìm thấy OnBackPressedDispatcherOwner, trường hợp này xảy ra khi bạn xem trước NavHost. (I7d8b4)

Sửa lỗi

  • BackHandler hiện sẽ chặn đúng cách các lượt nhấn trở lại trong trường hợp Hoạt động là STOPPED, sau đó là STARTED một lần nữa, và các lệnh gọi lại khác đã được thêm vào với một Chủ sở hữu vòng đời. (I71de6, b/182284739)
  • Nếu bạn sử dụng phần mở rộng của phương thức launch()ActivityResultContract tuỳ chỉnh có giá trị nhập Unit sẽ không còn gây ra NullPointerException (I76282, b/183837954)

Phiên bản 1.3.0-alpha05

Ngày 24 tháng 3 năm 2021

Phát hành androidx.activity:activity:1.3.0-alpha05, androidx.activity:activity-compose:1.3.0-alpha05androidx.activity:activity-ktx:1.3.0-alpha05. Phiên bản 1.3.0-alpha05 bao gồm các thay đổi sau.

Sửa lỗi

  • Trong phần Hoạt động 1.2.2: Khắc phục sự cố trong quá trình kiểm tra mã nguồn của InvalidFragmentVersionForActivityResult dẫn đến kết quả dương tính giả khi sử dụng Fragment 1.3.1 trở lên. (I54da1, b/182388985)
  • Trong phần Hoạt động 1.2.2: ComponentActivity hiện tránh ClassNotFoundException khi chạy một Intent từ ActivityResultContract mà trước đây được giữ lại dưới dạng bổ sung trong một Intent khác , (Ieff05, b/182906230)

Thông tin cập nhật về phần phụ thuộc

Phiên bản 1.3.0-alpha04

Ngày 10 tháng 3 năm 2021

Phát hành androidx.activity:activity:1.3.0-alpha04, androidx.activity:activity-compose:1.3.0-alpha04androidx.activity:activity-ktx:1.3.0-alpha04. Phiên bản 1.3.0-alpha04 bao gồm các thay đổi sau.

Sửa lỗi

  • Trong phần Hoạt động 1.2.1: RequestMultiplePermissions hiện sẽ luôn trả về kết quả cho mọi quyền mà bạn yêu cầu thay vì chỉ các quyền chưa có trước đây. (I50bc3, b/180884668)
  • Trong phần Hoạt động 1.2.1: ActivityResultRegistry hiện đảm bảo rằng các yêu cầu launch() đang xử lý sẽ trả về kết quả ngay cả khi bạn unregister(), sau đó register() lần nữa bằng cùng một khoá , (I9ef34, b/181267562)
  • Activity Compose không còn thêm phần phụ thuộc thử nghiệm vào đường dẫn lớp thời gian chạy. (Ifd8b3)
  • Khắc phục sự cố với BackHandler, trong đó lambda onBack đã đặt trước đó vẫn được sử dụng sau khi được tạo lại. (8eb5eb)

Phiên bản 1.3.0-alpha03

Ngày 24 tháng 2 năm 2021

Phát hành androidx.activity:activity:1.3.0-alpha03, androidx.activity:activity-compose:1.3.0-alpha03androidx.activity:activity-ktx:1.3.0-alpha03. Phiên bản 1.3.0-alpha03 bao gồm các thay đổi sau.

Tính năng mới

  • Hiện có hàm registerForActivityResult Cấu trúc có thể kết hợp để nhận kết quả từ các hoạt động trong các cấu trúc có thể kết hợp. (Ia7851, b/172690553)

Thay đổi về API

  • LocalOnBackPressedDispatcherOwner nay có một hàm provides mà bạn có thể dùng với CompositionLocalProvider, thay thế API asProvidableCompositionLocal(). (I45d24)

Phiên bản 1.3.0-alpha02

Ngày 10 tháng 2 năm 2021

Phát hành androidx.activity:activity:1.3.0-alpha02, androidx.activity:activity-compose:1.3.0-alpha02androidx.activity:activity-ktx:1.3.0-alpha02. Phiên bản 1.3.0-alpha02 bao gồm các thay đổi sau.

Sửa lỗi

  • Khắc phục sự cố trong Activity Compose 1.3.0-alpha01 gây ra ngoại lệ NoSuchMethodError: No static method setContent khi sử dụng Compose 1.0.0-alpha12. Tất cả người dùng Compose phải phụ thuộc vào 1.3.0-alpha02 trở lên. (b/179911234)

Thay đổi về API

  • Bạn có thể sử dụng API BackHandler để cho phép một cấu trúc có thể kết hợp chặn nút quay lại của hệ thống. (I58ed5, b/172154006)

Phiên bản 1.3.0-alpha01

Ngày 10 tháng 2 năm 2021

Phát hành androidx.activity:activity:1.3.0-alpha01, androidx.activity:activity-compose:1.3.0-alpha01androidx.activity:activity-ktx:1.3.0-alpha01. Phiên bản 1.3.0-alpha01 bao gồm các thay đổi sau.

Tính năng mới

  • Cấu phần phần mềm mới của activity-compose cung cấp trình trợ giúp cụ thể dành cho Jetpack Compose dành cho API cụ thể androidx.activity.
    • ComponentActivity.setContent đã di chuyển từ androidx.compose.ui.platform.setContent sang androidx.activity.compose.setContent. (Icf416)

Các vấn đề đã biết

  • Việc sử dụng Activity Compose 1.3.0-alpha01 và các thư viện phụ thuộc vào thanh phần này, chẳng hạn như androidx.compose.ui:ui-test-junit4:1.0.0-alpha12 sẽ dẫn đến trường hợp ngoại lệ là NoSuchMethodError: No static method setContent. (b/179911234)

Phiên bản 1.2.4

Phiên bản 1.2.4

Ngày 21 tháng 7 năm 2021

Phát hành androidx.activity:activity:1.2.4androidx.activity:activity-ktx:1.2.4. Phiên bản 1.2.4 bao gồm các thay đổi sau.

Sửa lỗi

  • Trong phần Activity 1.3.0-rc02: Các lệnh gọi lại ActivityActivityRegistry hiện được lưu và khôi phục đúng cách. Nhờ đó, các lệnh gọi lại sẽ không bị trùng lặp trong savedState. (I97816, b/191893160)

Phiên bản 1.2.3

Phiên bản 1.2.3

Ngày 5 tháng 5 năm 2021

Phát hành androidx.activity:activity:1.2.3androidx.activity:activity-ktx:1.2.3. Phiên bản 1.2.3 bao gồm các thay đổi sau.

Sửa lỗi

  • Nếu bạn sử dụng phần mở rộng của phương thức launch()ActivityResultContract tuỳ chỉnh có giá trị nhập Unit sẽ không còn gây ra NullPointerException (I76282, b/183837954)
  • Khắc phục lỗi tìm mã nguồn dương tính giả cho biết bạn nên sử dụng Fragment 1.3.0 khi sử dụng ảnh chụp nhanh, alpha, beta hoặc bản dựng RC của phiên bản Fragment mới hơn. (f4a57e, b/184847092)

Phiên bản 1.2.2

Phiên bản 1.2.2

Ngày 24 tháng 3 năm 2021

Phát hành androidx.activity:activity:1.2.2androidx.activity:activity-ktx:1.2.2. Phiên bản 1.2.2 bao gồm các thay đổi sau.

Sửa lỗi

  • Khắc phục sự cố trong quá trình kiểm tra ãm nguồn InvalidFragmentVersionForActivityResult dẫn đến dương tính giả khi sử dụng Fragment 1.3.1 trở lên. (I54da1, b/182388985)
  • ComponentActivity hiện tránh ClassNotFoundException khi khởi chạy Intent từ ActivityResultContract mà trước đó đã được giữ lại làm một mục bổ sung trong Intent khác. (Ieff05, b/182906230)

Thông tin cập nhật về phần phụ thuộc

Phiên bản 1.2.1

Phiên bản 1.2.1

Ngày 10 tháng 3 năm 2021

Phát hành androidx.activity:activity:1.2.1androidx.activity:activity-ktx:1.2.1. Phiên bản 1.2.1 bao gồm các thay đổi sau.

Sửa lỗi

  • RequestMultiplePermissions hiện luôn trả về kết quả cho tất cả các quyền đã yêu cầu thay vì chỉ các quyền chưa được cấp trước đó. (I50bc3, b/180884668)
  • Hiện tại, ActivityResultRegistry đảm bảo rằng các yêu cầu launch() đang được xử lý sẽ trả về kết quả ngay cả khi bạn unregister() và sau đó là register() một lần nữa bằng cùng một khoá. (I9ef34, b/181267562)

Phiên bản 1.2.0

Phiên bản 1.2.0

Ngày 10 tháng 2 năm 2021

Phát hành androidx.activity:activity:1.2.0androidx.activity:activity-ktx:1.2.0. Phiên bản 1.2.0 bao gồm các thay đổi sau.

Những thay đổi lớn kể từ phiên bản 1.1.0

  • Activity Result API: ComponentActivity hiện cung cấp ActivityResultRegistry cho phép bạn xử lý luồng startActivityForResult()+onActivityResult() cũng như requestPermissions()+onRequestPermissionsResult() mà không cần ghi đè phương thức trong Hoạt động hoặc Mảnh của bạn, giúp tăng độ an toàn của loại thông qua ActivityResultContract và cung cấp nội dung hấp dẫn để thử nghiệm luồng này. Hãy xem phần cập nhật Nhận kết quả từ một hoạt động.
  • ContextAware: ComponentActivity hiện triển khai ContextAware, cho phép bạn thêm một hoặc nhiều bản sao OnContextAvailableListener mà sẽ nhận được lệnh gọi lại trước cơ sở Activity.onCreate().

    • Tiện ích Kotlin đang tạm ngưng withContextAvailable() cho phép bạn chạy một khối không tạm ngưng khi Ngữ cảnh có sẵn và trả về một kết quả.
    • API này được FragmentActivity sử dụng trong Fragment 1.3.0 để khôi phục trạng thái của FragmentManager. Bất kỳ trình nghe nào được thêm vào lớp con của FragmentActivity đều sẽ chạy sau trình nghe đó.
    • API này được AppCompatActivity sử dụng trong AppCompat 1.3.0-alpha02 trở lên. Bất kỳ trình nghe nào được thêm vào lớp con của AppCompatActivity đều sẽ chạy sau trình nghe đó.
  • Nhóm hỗ trợ ViewTree: ComponentActivity hiện hỗ trợ các API ViewTreeLifecycleOwner.get(View), ViewTreeViewModelStoreOwner.get(View)ViewTreeSavedStateRegistryOwner mà bạn thêm vào Vòng đời 2.3.0SavedState 1.1.0 sao cho chế độ này sẽ trả về Hoạt động dưới dạng LifecycleOwner, ViewModelStoreOwnerSavedStateRegistryOwner cho mọi thành phần hiển thị thêm vào ComponentActivity.

  • reportFully Drawn() điều chỉnh cho phiên bản cũ – Phương thức Activity của reportFullyDrawn() đã được điều chỉnh trong ComponentActivity để hoạt động ở tất cả các cấp API, khắc phục sự cố trên API 19 và thêm tính năng theo dõi cho phương thức này cho tất cả các cấp độ API.

Phiên bản 1.2.0-rc01

Ngày 16 tháng 12 năm 2020

Phát hành androidx.activity:activity:1.2.0-rc01androidx.activity:activity-ktx:1.2.0-rc01. Phiên bản 1.2.0-rc01 bao gồm các thay đổi sau.

Sửa lỗi

  • ActivityResultRegistry hiện sẽ luôn khôi phục trạng thái chính xác đã lưu. (Idd56b)
  • Thêm tính năng theo dõi vào ComponentActivity.reportFullyDrawn (Ic7632)

Đóng góp bên ngoài

  • ComponentActivity hiện ghi đè reportFullyDrawn(), cho phép ứng dụng được gọi trên tất cả các cấp API và khắc phục sự cố khi gọi phương thức này mà không có sự cho phép phù hợp của hệ thống trên các thiết bị API 19. Cảm ơn Simon Schiller! (b/163239764, #103)

Phiên bản 1.2.0-beta02

Ngày 2 tháng 12 năm 2020

Phát hành androidx.activity:activity:1.2.0-beta02androidx.activity:activity-ktx:1.2.0-beta02. Phiên bản 1.2.0-beta02 bao gồm các thay đổi sau.

Sửa lỗi

  • Khắc phục vấn đề trong đó Activity Result API không chờ Vòng đời là STARTED trước khi cung cấp kết quả khi được đăng ký với Lifecycle. (I109ea)

Đóng góp bên ngoài

  • Cập nhật tài liệu cho launch() để nêu rõ rằng ứng dụng có thể gửi một ActivityNotFoundException. Cảm ơn Michał Zieliński! (aosp/1493580)

Phiên bản 1.2.0-beta01

Ngày 1 tháng 10 năm 2020

Phát hành androidx.activity:activity:1.2.0-beta01androidx.activity:activity-ktx:1.2.0-beta01. Phiên bản 1.2.0-beta01 bao gồm các thay đổi sau.

Sửa lỗi

  • ActivityResultRegistry hiện tạo ngẫu nhiên các số nguyên cho đến khi tìm thấy một số nguyên chưa được sử dụng để sử dụng làm mã yêu cầu register(), do đó ngăn chặn tình trạng tràn số nguyên có thể xảy ra do mã yêu cầu tăng lên. (b/168779518)

  • Lifecycle người quan sát sẽ bị xoá đúng cách khi gọi unregister() trên ActivityResultLauncher. (b/165608393)

Các thay đổi về hành vi

  • ActivityResultRegistry hiện đang gửi một IllegalStateException khi đang cố gọi register() bằng một LifecycleOwnerLifecycle của nó đã đạt STARTED. (b/165435866)

Tài liệu được cập nhật

  • Tài liệu ContextAware liên kết với LifecycleOwner để đánh dấu lệnh gọi lại Lifecycle là nơi thích hợp để tạo và huỷ sự kiện. (aosp/1414152)

Phiên bản 1.2.0-alpha08

Ngày 19 tháng 8 năm 2020

Phát hành androidx.activity:activity:1.2.0-alpha08androidx.activity:activity-ktx:1.2.0-alpha08. Phiên bản 1.2.0-alpha08 bao gồm các thay đổi sau.

Tính năng mới

  • ComponentActivity hiện triển khai ContextAware, cho phép bạn thêm một hoặc nhiều bản sao OnContextAvailableListener mà sẽ nhận được lệnh gọi lại trước Activity.onCreate() cơ sở. (b/161390636)
    • Tiện ích Kotlin đang tạm ngưng withContextAvailable() cho phép bạn chạy một khối không tạm ngưng khi Ngữ cảnh có sẵn và trả về một kết quả. (I8290c)
    • API này được FragmentActivity sử dụng trong Fragment 1.3.0-alpha08 để khôi phục trạng thái của FragmentManager. Bất kỳ trình nghe nào được thêm vào lớp con của FragmentActivity đều sẽ chạy sau trình nghe đó. (I513da)
    • API này được AppCompatActivity sử dụng trong AppCompat 1.3.0-alpha02. Bất kỳ trình nghe nào được thêm vào lớp con của AppCompatActivity đều sẽ chạy sau trình nghe đó. (I513da)

Sửa lỗi

  • Khắc phục vấn đề với tính năng kiểm tra lỗi mã nguồn ActivityResultFragmentVersionDetector khiến tính năng này bị lỗi khi sử dụng Lint 27.1.0 trở lên. (b/162155191)

Phiên bản 1.2.0-alpha07

Ngày 22 tháng 7 năm 2020

Phát hành androidx.activity:activity:1.2.0-alpha07androidx.activity:activity-ktx:1.2.0-alpha07. Phiên bản 1.2.0-alpha07 bao gồm các thay đổi sau.

Tính năng mới

  • Thêm tính năng kiểm tra lỗi mã nguồn InvalidFragmentVersionForActivityResult để xác minh rằng bạn đang sử dụngFragment 1.3.0-alpha07 khi sử dụng Activity Result API để tránh gặp lỗi trong thời gian chạy do các vấn đề liên quan đến "mã yêu cầu không hợp lệ" và các yêu cầu cấp quyền không hoạt động do sử dụng phiên bản Fragment cũ. (b/152554847)

Đóng góp bên ngoài

  • Sửa ArrayIndexOutOfBoundsException khi phân tích kết quả của hợp đồng Kết quả hoạt động RequestPermission. (I8f9e3, b/161057605)

Phiên bản 1.2.0-alpha06

Ngày 10 tháng 6 năm 2020

Phát hành androidx.activity:activity:1.2.0-alpha06androidx.activity:activity-ktx:1.2.0-alpha06. Phiên bản 1.2.0-alpha06 bao gồm các thay đổi sau.

Tính năng mới

  • Bây giờ, bạn có thể huỷ cấu trúc lớp ActivityResult trong kotlin để truy cập trực tiếp vào requestCodeintent. (b/157212935)
  • ActivityResultLauncher hiện cho phép bạn nhận ActivityResultContract dùng để đăng ký trình chạy. (b/156875743)

Thay đổi về API

  • Thay đổi có thể gây lỗi: Phương thức invoke() trên ActivityResultRegistry đã được đổi tên thành onLaunch(). (b/157496491)
  • Hợp đồng OpenMultipleDocuments hiện trả về danh sách trống thay vì null cho lệnh gọi lại đã đăng ký nếu không trả về kết quả nào. (b/157348014)

Phiên bản 1.2.0-alpha05

Ngày 20 tháng 5 năm 2020

Phát hành androidx.activity:activity:1.2.0-alpha05androidx.activity:activity-ktx:1.2.0-alpha05. Phiên bản 1.2.0-alpha05 bao gồm các thay đổi sau.

Tính năng mới

Thay đổi về API

  • Hợp đồng TakePicture hiện trả về boolean cho biết thành công chứ không phải là hình thu nhỏ Bitmap vì tính năng này hiếm khi được ứng dụng máy ảnh hỗ trợ khi ghi hình vào Uri được cung cấp. (b/154302879)
  • Các tiện ích invoke() trên ActivityResultLauncher đã được xoá và sử dụng launch() một cách rõ ràng để cho biết rõ hơn đây là các hoạt động không đồng bộ. Các tiện ích Kotlin cho launch đã được thêm vào gói androidx.activity.result cho ActivityResultLauncher<Void>ActivityResultLauncher<Unit>. Điều này giúp loại bỏ nhu cầu chuyển vào null hoặc Unit tương ứng, phản ánh hành vi đó từ các tiện ích invoke() trước đó. (aosp/1304674, aosp/1304675)
  • Các phương thức IntentSenderRequest.Builder cho setFlagsMask()setFlagsValues() đã được kết hợp thành một phương thức setFlags() duy nhất. (aosp/1302111)

Sửa lỗi

  • Khi đăng ký ActivityResultCallback với LifecycleOwner, hãy khắc phục vấn đề là lệnh gọi lại sẽ được kích hoạt trước khi trạng thái đạt STARTED. (aosp/1309744)

Các thay đổi về hành vi

  • ActivityResultRegistry hiện tạo các mã yêu cầu, bắt đầu từ 0xFFFF thay vì 0, qua đó ngăn quá trình trùng lặp khi sử dụng startActivityForResult() hoặc requestPermissions() trong một hoạt động. (aosp/1302324)

Phiên bản 1.2.0-alpha04

Ngày 29 tháng 4 năm 2020

Phát hành androidx.activity:activity:1.2.0-alpha04androidx.activity:activity-ktx:1.2.0-alpha04. Phiên bản 1.2.0-alpha04 bao gồm các thay đổi sau.

Tính năng mới

  • Thêm hợp đồng có thể gọi startIntentSenderForResult vào ActivityResult API. (b/153007517)

Thay đổi về API

  • Phương thức prepareCall() đã được đổi tên thành registerForActivityResult(), cả trên ComponentActivity tại đây và trong Fragment 1.3.0-alpha04. (aosp/1278717)
  • Các hợp đồng GetContents, OpenDocumentsRequestPermissions lần lượt được đổi tên thành GetMultipleContents, OpenMultipleDocumentsRequestMultiplePermissions. (aosp/1280161)
  • ComponentActivity hiện triển khai giao diện ActivityResultRegisteryOwner. (aosp/1290888)
  • – API startActivityForResult()/onActivityResult()onRequestPermissionsResult() trên ComponentActivity không còn được dùng nữa. Vui lòng sử dụng Activity Result API. (b/154751887)

Sửa lỗi

  • Khi sử dụng hợp đồng GetMultipleContentsOpenMultipleDocuments, đồng thời chọn một mục đơn lẻ, giờ đây, hệ thống sẽ trả về chính xác lệnh gọi lại của bạn. (b/152941153)

Phiên bản 1.2.0-alpha03

Ngày 1 tháng 4 năm 2020

Phát hành androidx.activity:activity:1.2.0-alpha03androidx.activity:activity-ktx:1.2.0-alpha03. Phiên bản 1.2.0-alpha03 bao gồm các thay đổi sau.

Tính năng mới

  • Thêm hợp đồng TakeVideo, PickContact, GetContent, GetContents, OpenDocument, OpenDocuments, OpenDocumentTreeCreateDocument vào tập hợp các dữ liệu hợp đồng được tạo sẵn do ActivityResultContracts cung cấp. (aosp/1262482, aosp/1266916, aosp/1268960)
  • Activity Result API hiện hỗ trợ khởi chạy một hoạt động cho kết quả với một ActivityOptionsCompat (không bắt buộc). (b/151860054)

Thay đổi về API

  • Hợp đồng TakePicture hiện cung cấp dữ liệu đầu vào Uri để lưu trữ hình ảnh. Hợp đồng trước đó không nhận bất kỳ thông tin đầu vào nào đã được đổi tên thành TakePicturePreview. (aosp/1262482)
  • Phương thức registerActivityResultCallback() trên ActivityResultRegistry đã được đổi tên thành register(). (aosp/1267621)
  • Phương thức dispose() trên ActivityResultLauncher đã được đổi tên thành unregister()unregisterResultCallback() trên ActivityResultRegistry đã bị xoá. (aosp/1267621)
  • Phương thức createIntent() của ActivityResultContact giờ đây sẽ lấy Context ngoài thông tin đầu vào để có thể tạo Ý định rõ ràng. (aosp/1238800)
  • Giờ đây, ActivityResultContract có thể ghi đè getSynchronousResult() để cung cấp kết quả mà không cần gọi startActivityForResult. Việc này được các hợp đồng RequestPermissionRequestPermissions sử dụng để cung cấp chính xác trạng thái "đã cấp" nếu bạn đã cấp các quyền được yêu cầu. (b/151110799)
  • Hợp đồng Dial có sẵn trước đó đã bị xoá vì Intent không được dùng với startActivityForResult(). (aosp/1266916)
  • Nhiều API kết quả của hoạt động không được mở rộng hiện là final. Các thông tin này bao gồm getActivityResultRegistry(), các phương thức prepareCall(), tất cả các phương thức ActivityResultRegistry trừ invoke() và một số hợp đồng mặc định không hỗ trợ các tiện ích bổ sung không bắt buộc. (b/152439361)

Sửa lỗi

  • Khắc phục NullPointerException trong ActivityResultRegistry khi cố gắng cung cấp kết quả cho lệnh gọi lại mà chưa được đăng ký lại sau khi thay đổi cấu hình; ActivityResultRegistry hiện giữ lại các kết quả đang chờ xử lý này và cung cấp các kết quả này khi lệnh gọi lại được đăng ký lại. (b/152137004)

Phiên bản 1.2.0-alpha02

Ngày 18 tháng 3 năm 2020

Phát hành androidx.activity:activity:1.2.0-alpha02androidx.activity:activity-ktx:1.2.0-alpha02. Phiên bản 1.2.0-alpha02 bao gồm các thay đổi sau.

Tính năng mới

  • Sổ đăng ký Kết quả Hoạt động: ComponentActivity hiện cung cấp một ActivityResultRegistry cho phép bạn xử lý các luồng startActivityForResult()+onActivityResult() cũng như requestPermissions()+onRequestPermissionsResult() mà không cần ghi đè phương thức trong phần Hoạt động hoặc Mảnh của bạn, giúp tăng độ an toàn của loại thông qua ActivityResultContract và cung cấp các nội dung hấp dẫn để thử nghiệm những quy trình này. Hãy xem phần cập nhật Nhận kết quả từ một hoạt động. (b/125158199)

Phiên bản 1.2.0-alpha01

Ngày 4 tháng 3 năm 2020

Phát hành androidx.activity:activity:1.2.0-alpha01androidx.activity:activity-ktx:1.2.0-alpha01. Phiên bản 1.2.0-alpha01 bao gồm các thay đổi sau.

Tính năng mới

  • Thêm tính năng hỗ trợ cho API ViewTreeLifecycleOwner.get(View) mà được thêm vào trong Vòng đời 2.3.0-alpha01 để API này trả lại Hoạt động dưới dạng LifecycleOwner cho bất kỳ thành phần hiển thị nào thêm trực tiếp vào Hoạt động. (aosp/1182955)

Sửa lỗi

  • Khắc phục lỗi hồi quy được giới thiệu trong Activity 1.1.0 khi chạy trên các phiên bản cũ hơn của nền tảng mà onBackPressed() sẽ gây ra IllegalStateException do lỗi trong android.app.FragmentManager. (b/146290338)

Phiên bản 1.1.0

Phiên bản 1.1.0

Ngày 22 tháng 1 năm 2020

Phát hành androidx.activity:activity:1.1.0. Phiên bản 1.1.0 bao gồm các thay đổi sau.

Những thay đổi quan trọng kể từ phiên bản 1.0.0

  • Tích hợp Vòng đời ViewModel SavedState: SavedStateViewModelFactory hiện là trạng thái ban đầu mặc định được sử dụng khi sử dụng by viewModels(), hàm khởi tạo ViewModelProvider hoặc ViewModelProviders.of() với ComponentActivity hoặc lớp con của nó.

Phiên bản 1.1.0-rc03

Ngày 4 tháng 12 năm 2019

Phát hành androidx.activity:activity:1.1.0-rc03androidx.activity:activity-ktx:1.1.0-rc03. Phiên bản 1.1.0-rc03 bao gồm các thay đổi sau.

Các thay đổi về phần phụ thuộc

  • Hoạt động bây giờ phụ thuộc vào Lifecycle 2.2.0-rc03 và Lifecycle ViewModel SavedState 1.0.0-rc03.

Phiên bản 1.1.0-rc02

Ngày 7 tháng 11 năm 2019

Phát hành androidx.activity:activity:1.1.0-rc02androidx.activity:activity-ktx:1.1.0-rc02. Phiên bản 1.1.0-rc02 bao gồm các thay đổi sau.

Các thay đổi về phần phụ thuộc

  • Hoạt động bây giờ phụ thuộc vào vòng đời 2.2.0-rc02.

Phiên bản 1.1.0-rc01

Ngày 23 tháng 10 năm 2019

androidx.activity:activity:1.1.0-rc01androidx.activity:activity-ktx:1.1.0-rc01 được phát hành mà không có thay đổi nào từ 1.1.0-beta01. Phiên bản 1.1.0-rc01 bao gồm các thay đổi sau.

Phiên bản 1.1.0-beta01

Ngày 9 tháng 10 năm 2019

Phát hành androidx.activity:activity:1.1.0-beta01androidx.activity:activity-ktx:1.1.0-beta01. Phiên bản 1.1.0-beta01 bao gồm các thay đổi sau.

Các thay đổi về phần phụ thuộc

  • Hoạt động hiện tại phụ thuộc vào SavedState 1.0.0 ổn định.

Phiên bản 1.1.0-alpha03

Ngày 5 tháng 9 năm 2019

Phát hành androidx.activity:activity:1.1.0-alpha03androidx.activity:activity-ktx:1.1.0-alpha03. Bạn có thể xem các thay đổi trong phiên bản này tại đây.

Tính năng mới

  • Hoạt động hiện phụ thuộc vào Core 1.1.0 ổn định.

Sửa lỗi

Phiên bản 1.1.0-alpha02

Ngày 7 tháng 8 năm 2019

Phát hành androidx.activity:activity:1.1.0-alpha02androidx.activity:activity-ktx:1.1.0-alpha02. Bạn có thể xem các thay đổi trong phiên bản này tại đây.

Tính năng mới

  • SavedStateViewModelFactory hiện là trạng thái ban đầu mặc định được sử dụng khi sử dụng by viewModels(), hàm khởi tạo ViewModelProvider hoặc ViewModelProviders.of() với ComponentActivity (b/135716331)

Phiên bản 1.1.0-alpha01

Ngày 2 tháng 7 năm 2019

Phát hành androidx.activity:activity:1.1.0-alpha01androidx.activity:activity-ktx:1.1.0-alpha01. Bạn có thể xem các thay đổi trong phiên bản này tại đây.

Tính năng mới

  • activity hiện phụ thuộc vào Vòng đời 2.2.0-alpha02. (aosp/1007817)
  • activity-ktx Thêm phần phụ thuộc vào lifecycle-runtime-ktx; bạn không cần thêm cụ thể tệp đó vào các phần phụ thuộc khi sử dụng activity-ktx hay các thư viện phụ thuộc vào activity-ktx (chẳng hạn như fragment-ktx) nữa. (aosp/987162)

Phiên bản 1.0.0

Phiên bản 1.0.0

Ngày 5 tháng 9 năm 2019

Phát hành androidx.activity:activity:1.0.0androidx.activity:activity-ktx:1.0.0. Bạn có thể xem các thay đổi trong phiên bản này tại đây.

Các tính năng chính của phiên bản 1.0.0

  • Thành phần hoạt động: ComponentActivity đóng vai trò là lớp cơ sở mới cho FragmentActivity trong Fragment 1.1.0 và theo tiện ích, AppCompatActivity trong AppCompat 1.1.0.
  • activity-ktx: Mô-đun activity-ktx bao gồm một tiện ích thuộc tính by viewModels Kotlin để truy cập vào ViewModels. Mô-đun này được tự động đưa vào khi bạn thêm fragment-ktx từ Fragment 1.1.0.
  • OnBackpressedDispatcher: Là một giải pháp thay thế cấu trúc có thể kết hợp cho việc ghi đè onBackPressed(), giờ đây, bạn có thể đăng ký OnBackPressedCallback từ bất kỳ LifecycleOwner nào (chẳng hạn như một Mảnh) để chặn các sự kiện nút quay lại của hệ thống. Một Lambda với phiên bản bộ thu addCallback đã được thêm vào activity-ktx. Xem phần Cung cấp tài liệu tuỳ chỉnh về thao tác quay lại để biết thêm thông tin chi tiết.
  • onKeepCustomNotConfigurationInstance: onRetainCustomNonConfigurationInstance() và các API getLastCustomNonConfigurationInstance() liên quan đã ngừng hoạt động. Bạn nên sử dụng ViewModels để lưu trữ trạng thái không phải cấu hình vì các mô hình này cung cấp một giải pháp cấu trúc có thể kết hợp phù hợp với bất kỳ ViewModelStoreOwner nào nêu rõ quyền sở hữu của các đối tượng được giữ lại và cung cấp lệnh gọi lại onCleared() để dọn dẹp các tài nguyên khi hoạt động cuối cùng bị huỷ bỏ.

Phiên bản 1.0.0-rc01

Ngày 2 tháng 7 năm 2019

androidx.activity:activity:1.0.0-rc01androidx.activity:activity-ktx:1.0.0-rc01 được phát hành mà không có thay đổi nào từ 1.0.0-beta01. Bạn có thể xem các thay đổi trong phiên bản này tại đây.

Phiên bản 1.0.0-beta01

Ngày 5 tháng 6 năm 2019

androidx.activity::activity:1.0.0-beta01androidx.activity:activity-ktx:1.0.0-beta01 được phát hành mà không có thay đổi nào từ 1.0.0-alpha08. Bạn có thể xem các thay đổi trong phiên bản này tại đây.

Phiên bản 1.0.0-alpha08

Ngày 7 tháng 5 năm 2019

Phát hành androidx.activity:activity:1.0.0-alpha08androidx.activity:activity-ktx:1.0.0-alpha08. Bạn có thể xem các thay đổi trong phiên bản này tại đây.

Thay đổi về API

  • Thay đổi có thể gây lỗi: Các phương thức addOnBackPressedCallbackremoveOnBackPressedCallback không dùng nữa trên ComponentActivity đã bị xoá. aosp/953857
  • Phương thức setEnabled()isEnabled() của OnBackPressedCallback hiện là phương thức cuối cùng. b/131416833
  • Phương thức remove() của OnBackPressedCallback hiện là phương thức cuối cùng. aosp/952720
  • OnBackPressedDispatcher hiện có các hàm khởi tạo công khai, cho phép bạn tạo các bản sao riêng để thử nghiệm, v.v. aosp/953431
  • onBackPressed() cho ComponentActivity hiện được đánh dấu rõ ràng là @MainThread aosp/952721

Sửa lỗi

  • Sửa ConcurrentModificationException khi gọi remove() qua phương thức handleOnBackPressed() của OnBackPressedCalback đã được thêm bằng LifecycleOwner. b/131765095

Phiên bản 1.0.0-alpha07

Ngày 25 tháng 4 năm 2019

Phát hành androidx.activity:activity:1.0.0-alpha07androidx.activity:activity-ktx:1.0.0-alpha07. Bạn có thể xem các thay đổi trong phiên bản này tại đây.

Thay đổi về API

Bản phát hành này thực hiện những thay đổi quan trọng đối với quá trình xử lý onBackPressed(). Xem tài liệu cập nhật tuỳ chỉnh mới để biết thêm thông tin.

  • Các phương thức cho OnBackPressedCallbackOnBackPressedDispatcher đã được đánh dấu là @MainThread. (aosp/943813)
  • Phương thức handleOnBackPressed() không trả về boolean nữa. Thay vào đó, OnBackPressedCallback hiện là một lớp trừu tượng có thể được bật hoặc tắt – chỉ khi phương thức isEnabled() mới trả về true thì handleOnBackPressed() mới được gọi, trong đó, bạn phải xử lý nút quay lại. (aosp/944518)
  • Các phương thức addCallback của OnBackPressedDispatcher không còn trả về một bản sao Cancellable nữa. OnBackPressedCallback hiện đang chứa phương thức remove() đáp ứng chức năng này, cho phép bạn gọi remove() trong handleOnBackPressed(). (aosp/944519) (aosp/946316)
  • activity-ktx hiện chứa lệnh gọi lại trong phạm vi người nhận cho addCallback chấp nhận lamdba triển khai handleOnBackPressed(), đồng thời có quyền truy cập vào isEnabledremove() (aosp/944520)

Phiên bản 1.0.0-alpha06

Ngày 3 tháng 4 năm 2019

Phát hành androidx.activity:activity:1.0.0-alpha06androidx.activity:activity-ktx:1.0.0-alpha06. Bạn có thể xem các thay đổi trong phiên bản này tại đây.

Thay đổi về API

  • Thành phần hoạt động hiện đang chứa một hàm khởi tạo thứ hai nhận @LayoutRes int, mà sẽ thay thế hành vi trước đó của bạn dùng để ghi chú lớp AppCompatActivity bằng @ContentView. Cách tiếp cận này hoạt động trong cả mô-đun ứng dụng và thư viện. (b/128352521)
  • Các API liên quan đến OnBackPressedCallback trên ComponentActivity đã ngừng hoạt động và thay vào đó là OnBackPressedDispatcher, có thể truy xuất qua getOnBackPressedDispatcher(). (aosp/922523)
  • Các phương thức thêm một OnBackPressedCallback mới vào OnBackPressedDispatcher giờ sẽ trả về đối tượng Cancellable, cho phép xoá lệnh gọi lại mà không cần tham chiếu rõ ràng đến OnBackPressedDispatcher. (aosp/922523)
  • Giờ đây, việc thêm OnBackPressedCallbackLifecycleOwner liên kết sẽ dẫn đến việc thêm và xoá OnBackPressedCallback khi Vòng đời lần lượt bắt đầu và dừng hoạt động. (aosp/922523)

Phiên bản 1.0.0-alpha05

Ngày 13 tháng 3 năm 2019

Phát hành androidx.activity:activity:1.0.0-alpha05androidx.activity:activity-ktx:1.0.0-alpha05. Bạn có thể xem toàn bộ thay đổi trong bản phát hành này tại đây.

Tính năng mới

  • @ContentView tra cứu chú thích hiện được lưu vào bộ nhớ đệm (b/123709449)

Phiên bản 1.0.0-alpha04

Ngày 30 tháng 1 năm 2019

Phát hành androidx.activity:activity 1.0.0-alpha04androidx.activity:activity-ktx 1.0.0-alpha04.

Tính năng mới

  • Thêm chức năng hỗ trợ cho chú thích lớp @ContentView để cho phép bạn chỉ định tệp XML bố cục nào sẽ được tăng cường để thay thế cho việc sử dụng setContentView(). (aosp/837619)

Thay đổi về API

  • Thêm ghi chú rằng getViewModelStore() không được ghi đè và sẽ được đưa ra vào bản phát hành chính thức trong tương lai. Vui lòng gửi yêu cầu về tính năng nếu bạn hiện đang ghi đè phương pháp này. (aosp/837619)

Sửa lỗi

  • Mô-đun activity hiện phụ thuộc vào phiên bản 2.1.0-alpha02 của ViewModel để phù hợp với phần phụ thuộc của mô-đun activity-ktx.

Phiên bản 1.0.0-alpha03

Ngày 17 tháng 12 năm 2018

Phát hành androidx.activity 1.0.0-alpha03.

Tính năng mới

  • ComponentActivity hiện triển khai BundleSavedStateRegistryOwner và phụ thuộc vào thư viện SavedState mới phát hành [aosp/815133]
  • ComponentActivity hiện hoạt động xung quanh lỗi khung Android, khiến InputMethodManager rò rỉ thành phần hiển thị tập trung cuối cùng [b/37122102]

Phiên bản 1.0.0-alpha02

Ngày 3 tháng 12 năm 2018

Thay đổi về API

  • Thêm ghi chú rằng getLifecycle() không được ghi đè và sẽ được thực hiện final trong bản phát hành trong tương lai. Vui lòng gửi yêu cầu về tính năng nếu bạn hiện đang ghi đè phương thức này. (aosp/815834)

Phiên bản 1.0.0-alpha01

Ngày 5 tháng 11 năm 2018

androidx.activity 1.0.0-alpha01 giới thiệu ComponentActivity, một lớp cơ sở mới của FragmentActivityAppCompatActivity hiện có.

Tính năng mới

  • Bây giờ, bạn có thể đăng ký OnBackPressedCallback qua addOnBackPressedCallback để nhận các lệnh gọi lại onBackPressed() mà không cần ghi đè phương thức trong hoạt động.
  • Thêm một uỷ quyền thuộc tính by viewModels() Kotlin mới để truy xuất ViewModel từ một ComponentActivity.
  • Các sự kiện đầu vào đang chờ xử lý (chẳng hạn như lượt nhấp) nay bị huỷ trong onStop().

Thay đổi về API

  • Việc triển khai LifecycleOwnerViewModelStoreOwner đã được chuyển từ FragmentActivity sang ComponentActivity.
  • onRetainCustomNonConfigurationInstance không được dùng nữa. Sử dụng ViewModel để lưu trữ các đối tượng cần tồn tại sau khi thay đổi cấu hình.