Biometric

Xác thực bằng hệ thống nhận dạng sinh trắc học hoặc thông tin xác thực thiết bị và thực hiện các thao tác mã hoá.
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 21 tháng 9 năm 2022 1.1.0 - - 1.2.0-alpha05

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

Để thêm một phần phụ thuộc trên Biometric, bạn phải thêm kho lưu trữ Google Maven vào dự án của mình. Đọ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 của mình:

Groovy

dependencies {
    // Java language implementation
    implementation "androidx.biometric:biometric:1.1.0"

    // Kotlin
    implementation "androidx.biometric:biometric-ktx:1.2.0-alpha05"
}

Kotlin

dependencies {
    // Java language implementation
    implementation("androidx.biometric:biometric:1.1.0")

    // Kotlin
    implementation("androidx.biometric:biometric:1.2.0-alpha05")
}

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

Ý kiến phản hồi

Ý kiến 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.2.0

Phiên bản 1.2.0-alpha05

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

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

Các thay đổi về API

  • Thêm tính năng hỗ trợ CryptoObject cho android.security.identity.PresentationSession trong Android 13. (C5f1ec, b/197965513)

Sửa lỗi

  • Xoá các biến thể tài nguyên không cần thiết để giảm kích thước thư viện. (I3601e, b/220178553)
  • Khắc phục vấn đề về BiometricPrompt được lưu trữ trong các bối cảnh không hoạt động. (Ife255)

Phiên bản 1.2.0-alpha04

Ngày 17 tháng 11 năm 2021

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

Các tính năng mới

  • Cải thiện khả năng hỗ trợ BiometricPrompt đối với các mảnh được lưu trữ theo bối cảnh không hoạt động (I9312b)

Thay đổi về API

Sửa lỗi

  • Khắc phục sự cố trên API 29 khiến thao tác huỷ trên một số thiết bị (bao gồm cả trình mô phỏng) sẽ gặp lỗi khi quay lại mã PIN/hình mở khoá/mật khẩu. Xin lưu ý rằng đối với một số thiết bị sử dụng API 29, thao tác này có thể khiến người dùng nhận được lời nhắc khoá màn hình ngay cả khi có hệ thống nhận dạng sinh trắc học được đăng ký. (b/142740104)
  • Khắc phục sự cố trên API 29, trong đó các thiết bị không có phần cứng sinh trắc học sẽ không quay lại mã PIN/hình mở khoá/mật khẩu (b/170517889) một cách chính xác

Phiên bản 1.2.0-alpha03

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

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

Thay đổi về API

  • Thêm các phần mở rộng coroutine bị tạm ngưng cho CredentialAuthPrompt, tương tự như các phần mở rộng tồn tại cho các loại AuthPrompt khác. (I9ac70)

Phiên bản 1.2.0-alpha02

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

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

Thay đổi về API

  • Tái cấu trúc một số trường AuthPrompt trước đây được đặt thông qua trình tạo thành các đối số phương thức startAuthentication(...). (I18896, b/174098373)
  • Thêm yêu cầu cấp API tối thiểu đối với các loại AuthPrompt có hỗ trợ hạn chế hoặc không hỗ trợ trên các phiên bản Android cũ. (I18896)
  • Thêm các phương thức getter cho tất cả các trường AuthPrompt được đặt thông qua trình tạo. (I18896)
  • Thêm các tiện ích Kotlin coroutine đã tạm ngưng để xác thực sinh trắc học qua API AuthPrompt. Các hàm này sẽ trực tiếp trả về AuthenticationResult khi thành công hoặc gửi một ngoại lệ do lỗi hoặc không thành công (lỗi từ chối xác thực). (Iffc9e)

Sửa lỗi

  • Khắc phục sự cố đôi khi BiometricManager.canAuthenticate(int) trả về mã trạng thái không chính xác cho một thiết bị có cảm biến vân tay trên Android 10 (API cấp 29). (I72420, b/176921662)
  • Khắc phục sự cố trong đó BiometricManager.canAuthenticate(int) trả về mã trạng thái không chính xác cho một thiết bị không có phần cứng hệ thống nhận dạng sinh trắc học và không có mã PIN, hình mở khoá hoặc mật khẩu đã đăng ký trên Android 10 (API cấp 29) và các phiên bản SDK trước đó. (I79b7d, b/174505824)
  • Khắc phục lỗi rò rỉ bộ nhớ xảy ra khi BiometricPrompt được lưu trữ trong một phân đoạn có vòng đời ngắn hơn hoạt động liên quan. (I70864, b/167014923)

Phiên bản 1.2.0-alpha01

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

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

Các tính năng mới

  • Giới thiệu mô-đun androidx.biometric:biometric-ktx giúp thêm các tiện ích và API dành riêng cho Kotlin bên trên androidx.biometric:biometric.

Thay đổi về API

  • Thêm API AuthPrompt mới để tạo BiometricPrompt và thực hiện xác thực. Các API này không yêu cầu phải tạo BiometricPrompt trong phương thức gọi lại trong vòng đời sớm, chẳng hạn như onCreate. (I19022)
  • Thêm tiện ích Kotlin vào FragmentFragmentActivity cho các API AuthPrompt mới. (Iaf98c)

Phiên bản 1.1.0

Phiên bản 1.1.0

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

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

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

  • Thêm chức năng hỗ trợ tương thích ngược cho các bản cập nhật tính năng và API xác thực sinh trắc học mới trên Android 11.
  • Giảm đáng kể quy mô kích thước của ứng dụng trong thư viện (hơn 100 KB trong một số trường hợp).
  • Xoá nhiều nguồn rò rỉ bộ nhớ trước đây do thư viện gây ra.
  • Khắc phục các lỗi xác minh lớp có thể ảnh hưởng đến hiệu suất trên các phiên bản Android cũ.
  • Thực hiện nhiều cải thiện khác nhau đối với độ ổn định và hoạt động của thư viện.

Phiên bản 1.1.0-rc01

Ngày 11 tháng 11 năm 2020

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

Sửa lỗi

  • Khắc phục sự cố trên một số thiết bị khiến một số hành động (xác thực, huỷ, v.v.) đôi khi sẽ gửi một NullPointerException. (b/151316421)
  • Khắc phục sự cố một số thiết bị Pixel báo cáo sai trạng thái khi sử dụng BiometricManager#canAuthenticate(int) để kiểm tra thông tin sinh trắc học Lớp 3 trên Android 10. (b/170406186)

Phiên bản 1.1.0-beta01

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

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

Các tính năng mới

  • Giảm đáng kể kích thước tệp APK của thư viện (hơn 100 KB sau nén, trong một số trường hợp) bằng cách thay thế ảnh động hộp thoại bằng thành phần tĩnh trên Android 8.1 trở xuống. (I4844e)
  • BiometricPrompt hiện sẽ tự động quay lại xác thực thông tin đăng nhập thiết bị (nếu được phép) trên tất cả phiên bản Android được hỗ trợ khi xác thực sinh trắc học bị khoá. (b/149579143)

Sửa lỗi

  • Khắc phục sự cố trong đó BiometricPrompt gây ra lỗi trên một số thiết bị Android 9 không có cảm biến vân tay. (b/151443237)
  • Khắc phục lỗi NullPointerException tiềm ẩn trong FingerprintDialogFragment. (b/167951429)
  • Khắc phục sự cố trong đó loại CryptoObject được dùng cho lời gọi phương thức phản chiếu trong BiometricManager. (b/165824669)
  • Khắc phục sự cố khiến BiometricPrompt hiển thị lại ngay sau khi bị loại bỏ làm hệ thống sẽ tự động loại bỏ lời nhắc mới trên một số thiết bị Android 10. (b/157783075)
  • Sửa lỗi rò rỉ bộ nhớ liên quan đến việc sử dụng FingerprintManagerCompat. (b/165840273)
  • Khắc phục sự cố về giao diện người dùng của hộp thoại vân tay bị ẩn hoặc hiển thị không chính xác trên một số thiết bị Android 9. (b/154868505, b/148350291)

Phiên bản 1.1.0-alpha02

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

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

Các tính năng mới

  • Hiện tại, BiometricManager#canAuthenticate() có thể trả về BIOMETRIC_STATUS_UNKNOWN để cho biết rằng người dùng vẫn có thể xác thực được hoặc BIOMETRIC_ERROR_UNSUPPORTED để cho biết rằng thiết bị không hỗ trợ một tổ hợp trình xác thực nhất định.
  • Hiện tại, bạn chỉ có thể sử dụng BiometricPrompt#authenticate() để xác thực thông tin đăng nhập thiết bị với một CryptoObject được liên kết chỉ trên Android 11 (API cấp 30) trở lên.

Thay đổi về API

Sửa lỗi

  • Khắc phục các sự cố rò rỉ bộ nhớ do LeakCanary báo cáo trong BiometricFragmentBiometricViewModel. (b/144919472)
  • Đảm bảo rằng BiometricViewModel sẽ không gọi MutableLiveData#setValue() từ chuỗi trong nền nữa. (b/159983244)
  • Khắc phục sự cố BiometricPrompt không xử lý đúng cách khoá tạm thời ở một số cấp độ API. (9acfce9)
  • Khắc phục sự cố BiometricPrompt trả về mã lỗi không chính xác cho một thiết bị không được bảo mật bằng thông tin xác thực khoá màn hình ở một số cấp độ API. (b/148626482)
  • Khắc phục sự cố BiometricManagerBiometricPrompt trả về mã lỗi không chính xác cho thiết bị không triển khai khoá phím ở một số cấp độ API. (891c6e0)

Phiên bản 1.1.0-alpha01

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

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

Các tính năng mới

  • Điều chỉnh lại cách triển khai thư viện nội bộ để xử lý các nguồn có thể gây rò rỉ bộ nhớ và hành vi không mong muốn khác:
    • Giờ đây, các mảnh nội bộ sẽ chia sẻ và lưu giữ dữ liệu bằng cách sử dụng một ViewModel gắn liền với vòng đời hoạt động của ứng dụng.
    • Xác thực thông tin đăng nhập thiết bị trước Android 10 (API cấp 29) không còn bắt đầu hoạt động minh bạch trong ứng dụng.

Sửa lỗi

  • Giải quyết các cảnh báo về việc ngừng sử dụng liên quan đến việc sử dụng FingerprintManagerCompat. (b/142967618)
  • Thay đổi cách gọi các phương thức nền tảng bằng SDK để tránh các vấn đề liên quan đến việc xác minh lớp trên các phiên bản Android cũ. (94beb4b)
  • Phần phụ thuộc Gradle không thuộc API công khai sẽ không còn được thư viện xuất nữa. (f289d9e)

Phiên bản 1.0.1

Phiên bản 1.0.1

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

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

Sửa lỗi

  • Mở rộng giải pháp dự phòng vân tay hiện có cho phương thức xác thực dựa trên mật mã cho các nhà cung cấp bị ảnh hưởng đã biết, đồng thời chỉ giới hạn ở API 28 (b/143361271)
  • Khắc phục sự cố trên một số thiết bị mà hộp thoại sinh trắc học hiển thị trong lớp phủ hệ thống (b/143230260)
  • Khắc phục một số vấn đề với setDeviceCredentialAllowed(true) (b/143091227, b/143097321, b/143653944)
  • Khắc phục sự cố trên một số phiên bản Android, trong đó onAuthenticationSuccess không phải lúc nào cũng được gọi sau khi người dùng xác nhận thông tin đăng nhập thiết bị (b/145232806)
  • Khắc phục sự cố trên một số phiên bản Android nhất định, trong đó không phải lúc nào onAuthenticationError cũng được gọi khi lời nhắc bị loại bỏ lúc xoay vòng (b/145230042)
  • Khắc phục sự cố trên một số phiên bản Android nhất định, trong đó lời nhắc không bị loại bỏ khi nhận được một số mã lỗi nhất định (b/143683687)
  • Khắc phục NullPointerException tiềm năng trong BiometricFragment (b/142599311)

Phiên bản 1.0.0

Phiên bản 1.0.0

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

androidx.biometric:biometric:1.0.0 được phát hành mà không có thay đổi nào kể từ 1.0.0-rc02. Phiên bản 1.0.0 bao gồm các thay đổi sau.

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

  • Phiên bản tương thích của API BiometricPromptBiometricManager, như được triển khai trong Android 10, với sự hỗ trợ tính năng đầy đủ cho Android 6.0 (API 23)
  • Tính năng quản lý vòng đời tích hợp sẵn cho BiometricPrompt trong Fragment hoặc FragmentActivity
  • Cách xử lý đặc biệt đối với những thiết bị được xác định là trình bày sai hệ thống nhận dạng sinh trắc học yếu trong quá trình xác thực dựa trên mật mã

Phiên bản 1.0.0-rc02

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

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

Sửa lỗi

  • Thêm giải pháp cho một số thiết bị được biết là cung cấp sai hệ thống nhận dạng sinh trắc học yếu khi phương thức xác thực dựa trên mật mã được gọi trên API phiên bản 28 và 29 (b/142150327)

Phiên bản 1.0.0-rc01

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

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

Sửa lỗi

  • Khắc phục sự cố tiềm ẩn với FingerprintDialogFragment khi loại bỏ yếu tố này lúc màn hình đang xoay (b/141356362)
  • Khắc phục sự cố khiến việc nhận được AuthenticationResult rỗng từ API khung có thể gây ra sự cố (b/138862251)
  • Khắc phục các sự cố do loại bỏ BiometricPrompt sau onSaveInstanceState() (b/138825362, b/140447194)

Phiên bản 1.0.0-beta02

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

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

Sửa lỗi

  • Khắc phục các sự cố liên quan đến việc hỗ trợ thông tin đăng nhập thiết bị trong phiên bản 1.0.0-beta01
  • Xoá các phần phụ thuộc Java 8 và chuyển sang phụ thuộc vào Java 7 (b/140508526)
  • FingerprintHelperFragment hiện đã gửi ERROR_HW_NOT_PRESENT chính xác khi không phát hiện thấy phần cứng xử lý vân tay (b/140427586)

Phiên bản 1.0.0-beta01

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

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

Tính năng mới

Chúng tôi đã giới thiệu một hàm khởi tạo thứ hai cho BiometricPrompt cho phép yếu tố lưu trữ trong một mảnh (thay vì hàm khởi tạo hiện có cần có FragmentActivity).

Chúng tôi cũng rất hân hạnh khi cung cấp chức năng sau từ thư viện Sinh trắc học Android 10 tới AndroidX:

  1. BiometricManager#canAuthenticate
  2. BiometricPrompt.PromptInfo#setConfirmationRequired
  3. BiometricPrompt.PromptInfo#setDeviceCredentialAllowed

Trên Android 10, thư viện sẽ gọi các phương thức tương ứng từ API nền tảng. Ở cấp độ API cũ, thư viện sẽ mô phỏng hành vi đó.

Những thay đổi về API

  • Thêm hàm khởi tạo dành riêng cho mảnh để nhận lời nhắc hệ thống nhận dạng sinh trắc học (b/131980596)
  • Hãy xem phần “Các tính năng mới” ở trên.

Sửa lỗi

  • Thêm sự hỗ trợ bằng chứng xác thực cho thiết bị BiometricPrompt cho L+
  • Sửa BiometricPrompt để sử dụng hằng số lỗi công khai (b/137788194)
  • Sửa NullPointerException trong BiometricPrompt.onAttach() (b/136103103)
  • Thay đổi hành vi thành không cho phép hủy BiometricPrompt bằng sự kiện chạm bên ngoài lời nhắc (b/135684487)
  • Khắc phục lỗi onAuthenticationError khi giá trị lỗi rỗng được trả về trong Kotlin (b/128350861)
  • FingerprintDialogFragment hiện có thể tạo kiểu (b/127878106)
  • FingerprintDialog hiện có thể cuộn được (b/126367887)
  • Khắc phục lỗi xoay hộp thoại sinh trắc học sẽ đưa ra IllegalStateException (b/124153656), (b/123811924)
  • Khắc phục hành vi không nhất quán trên Cấp độ API từ 23 đến 27. (b/124066957)
  • Khắc phục sự cố Hộp thoại đăng nhập bằng vân tay đọc văn bản không chính xác bằng Talkback. (b/123572331)

Phiên bản 1.0.0-alpha04

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

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

Sửa lỗi

  • Khắc phục lỗi các mảnh Hệ thống nhận dạng sinh trắc học không dọn dẹp trong mọi trường hợp. (b/121117380)
  • Khắc phục lỗi BiometricPrompt chỉ cho phép một bản sao của BiometricPrompt.AuthenticationCallback (b/123857949)
  • Khắc phục hành vi lỗi BiometricPrompt không nhất quán giữa các phiên bản hệ thống và khả năng tương thích. (b/123572326)
  • Khắc phục lệnh gọi lại onAuthenticationError() với @NotNull errString gây ra NullPointerException trong thời gian chạy (b/123167217)
  • Khắc phục sự cố với nút Hủy androidx.BiometricPrompt (b/122054485)
  • Khắc phục sự cố không thay đổi được tiêu đề/nội dung mô tả androidx.biometric.PromptInfo trên Android P (b/122856773)

Phiên bản 1.0.0-alpha03

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

Sửa lỗi

  • Khắc phục các sự cố liên quan đến mảnh
  • Trên các thiết bị O trở về trước, lỗi khoá sẽ được trả lại ngay lập tức để phù hợp với P trở lên