Biometric

Mengautentikasi dengan biometrik atau kredensial perangkat, dan melakukan operasi kriptografi.
Update Terbaru Rilis Stabil Kandidat Rilis Rilis Beta Rilis Alfa
21 September 2022 1.1.0 - - 1.2.0-alpha05

Mendeklarasikan dependensi

Untuk menambahkan dependensi pada Biometric, 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 {
    // 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")
}

Untuk mengetahui 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.2.0

Versi 1.2.0-alpha05

21 September 2022

androidx.biometric:biometric:1.2.0-alpha05 dan androidx.biometric:biometric-ktx:1.2.0-alpha05 dirilis. Versi 1.2.0-alpha05 berisi commit ini.

Perubahan API

  • Menambahkan dukungan CryptoObject untuk android.security.identity.PresentationSession di Android 13. (C5f1ec, b/197965513)

Perbaikan Bug

  • Menghapus varian resource yang tidak perlu untuk mengurangi ukuran library. (I3601e, b/220178553)
  • Memperbaiki masalah untuk BiometricPrompt yang dihosting dalam konteks non-aktivitas. (Ife255)

Versi 1.2.0-alpha04

17 November 2021

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

Fitur Baru

  • Peningkatan dukungan BiometricPrompt untuk fragmen yang dihosting oleh konteks non-aktivitas (I9312b)

Perubahan API

Perbaikan Bug

  • Memperbaiki masalah pada API 29 yang membuat beberapa perangkat (termasuk emulator) menerima error pembatalan saat dikembalikan ke PIN/pola/sandi. Perhatikan bahwa, untuk beberapa perangkat di API 29, hal ini dapat menyebabkan pengguna diminta memasukkan kunci layar meskipun jika biometrik tersedia dan terdaftar. (b/142740104)
  • Memperbaiki masalah pada API 29 yang membuat perangkat tanpa hardware biometrik tidak digantikan dengan benar ke PIN/pola/sandi (b/170517889)

Versi 1.2.0-alpha03

24 Februari 2021

androidx.biometric:biometric:1.2.0-alpha03 dan androidx.biometric:biometric-ktx:1.2.0-alpha03 dirilis. Versi 1.2.0-alpha03 berisi commit ini.

Perubahan API

  • Menambahkan penangguhan ekstensi coroutine untuk CredentialAuthPrompt, mirip dengan ekstensi yang ada untuk jenis AuthPrompt lainnya. (I9ac70)

Versi 1.2.0-alpha02

27 Januari 2021

androidx.biometric:biometric:1.2.0-alpha02 dan androidx.biometric:biometric-ktx:1.2.0-alpha02 dirilis. Versi 1.2.0-alpha02 berisi commit ini.

Perubahan API

  • Memfaktorkan ulang beberapa kolom AuthPrompt yang sebelumnya ditetapkan melalui builder ke dalam argumen metode startAuthentication(...). (I18896, b/174098373)
  • Menambahkan persyaratan API level minimum untuk jenis AuthPrompt dengan dukungan terbatas atau tanpa dukungan di versi Android lama. (I18896)
  • Menambahkan metode pengambil untuk semua kolom AuthPrompt yang ditetapkan melalui builder. (I18896)
  • Menambahkan penangguhan ekstensi Kotlin coroutine untuk autentikasi biometrik melalui API AuthPrompt. Fungsi ini akan menampilkan AuthenticationResult secara langsung saat berhasil atau menampilkan pengecualian saat error atau gagal (penolakan kredensial). (Iffc9e)

Perbaikan Bug

  • Memperbaiki masalah saat BiometricManager.canAuthenticate(int) terkadang menampilkan kode status yang salah untuk perangkat dengan sensor sidik jari di Android 10 (API level 29). (I72420, b/176921662)
  • Memperbaiki masalah BiometricManager.canAuthenticate(int) yang akan menampilkan kode status yang salah untuk perangkat tanpa hardware biometrik dan tanpa PIN, pola, atau sandi yang terdaftar di Android 10 (level API 29) dan versi SDK sebelumnya. (I79b7d, b/174505824)
  • Memperbaiki kebocoran memori yang akan terjadi saat BiometricPrompt dihosting di fragmen dengan siklus proses yang lebih pendek daripada aktivitas terkait. (I70864, b/167014923)

Versi 1.2.0-alpha01

2 Desember 2020

androidx.biometric:biometric:1.2.0-alpha01 dan androidx.biometric:biometric-ktx:1.2.0-alpha01 dirilis. Versi 1.2.0-alpha01 berisi commit ini.

Fitur Baru

  • Memperkenalkan modul androidx.biometric:biometric-ktx, yang menambahkan API dan ekstensi khusus Kotlin selain androidx.biometric:biometric.

Perubahan API

  • Menambahkan AuthPrompt API baru untuk membuat BiometricPrompt dan melakukan autentikasi. API ini tidak memerlukan BiometricPrompt dibuat dalam callback siklus proses awal, seperti onCreate. (I19022)
  • Menambahkan ekstensi Kotlin ke Fragment dan FragmentActivity untuk AuthPrompt API baru. (Iaf98c)

Versi 1.1.0

Versi 1.1.0

27 Januari 2021

androidx.biometric:biometric:1.1.0 dirilis. Versi 1.1.0 berisi commit ini.

Perubahan utama sejak versi 1.0.0

  • Menambahkan dukungan kompatibilitas mundur untuk fitur dan update API autentikasi biometrik baru yang diperkenalkan di Android 11.
  • Secara signifikan mengurangi ukuran jejak library aplikasi (dalam beberapa kasus hingga >100 KB).
  • Menghapus berbagai sumber kebocoran memori yang sebelumnya disebabkan oleh library.
  • Memperbaiki kegagalan verifikasi class yang dapat memengaruhi performa pada versi Android lama.
  • Membuat berbagai peningkatan tambahan pada stabilitas dan perilaku library.

Versi 1.1.0-rc01

11 November 2020

androidx.biometric:biometric:1.1.0-rc01 dirilis. Versi 1.1.0-rc01 berisi commit ini.

Perbaikan Bug

  • Memperbaiki masalah pada beberapa perangkat yang menyebabkan tindakan tertentu (mengautentikasi, membatalkan, dsb.) terkadang menampilkan NullPointerException. (b/151316421)
  • Memperbaiki masalah yang menyebabkan beberapa perangkat Pixel melaporkan status yang salah saat menggunakan BiometricManager#canAuthenticate(int) untuk memeriksa biometrik Class 3 di Android 10. (b/170406186)

Versi 1.1.0-beta01

1 Oktober 2020

androidx.biometric:biometric:1.1.0-beta01 dirilis. Versi 1.1.0-beta01 berisi commit ini.

Fitur Baru

  • Secara signifikan mengurangi jejak ukuran APK library (dalam beberapa kasus dikompresi hingga >100 KB) dengan mengganti animasi dialog dengan aset statis pada Android 8.1 dan versi sebelumnya. (I4844e)
  • BiometricPrompt kini secara otomatis melakukan penggantian ke autentikasi kredensial perangkat (jika diizinkan) di semua versi Android yang didukung saat autentikasi biometrik terkunci. (b/149579143)

Perbaikan Bug

  • Memperbaiki masalah saat BiometricPrompt menyebabkan error pada beberapa perangkat Android 9 tanpa sensor sidik jari. (b/151443237)
  • Memperbaiki potensi NullPointerException dalam FingerprintDialogFragment. (b/167951429)
  • Memperbaiki masalah saat jenis CryptoObject yang salah digunakan untuk pemanggilan metode reflektif di BiometricManager. (b/165824669)
  • Memperbaiki masalah saat BiometricPrompt ditampilkan lagi segera setelah penutupan yang menyebabkan perintah baru ditutup secara otomatis di beberapa perangkat Android 10. (b/157783075)
  • Memperbaiki kebocoran memori yang terkait dengan penggunaan FingerprintManagerCompat. (b/165840273)
  • Memperbaiki masalah UI dialog sidik jari yang disembunyikan atau ditampilkan secara tidak benar di beberapa perangkat Android 9. (b/154868505, b/148350291)

Versi 1.1.0-alpha02

19 Agustus 2020

androidx.biometric:biometric:1.1.0-alpha02 dirilis. Versi 1.1.0-alpha02 berisi commit ini.

Fitur Baru

  • BiometricManager#canAuthenticate() sekarang dapat menampilkan BIOMETRIC_STATUS_UNKNOWN untuk menunjukkan bahwa pengguna mungkin masih dapat mengautentikasi, atau BIOMETRIC_ERROR_UNSUPPORTED untuk menunjukkan bahwa kombinasi pengautentikasi yang diberikan tidak didukung oleh perangkat.
  • BiometricPrompt#authenticate() kini dapat digunakan untuk autentikasi kredensial perangkat dengan CryptoObject terkait hanya di Android 11 (API level 30) dan versi yang lebih tinggi.

Perubahan API

Perbaikan Bug

  • Memperbaiki kebocoran memori yang dilaporkan oleh LeakCanary di BiometricFragment dan BiometricViewModel. (b/144919472)
  • Memastikan bahwa BiometricViewModel tidak akan lagi memanggil MutableLiveData#setValue() dari thread latar belakang. (b/159983244)
  • Memperbaiki masalah saat BiometricPrompt tidak menangani penguncian sementara dengan benar di beberapa API level. (9acfce9)
  • Memperbaiki masalah saat BiometricPrompt akan menampilkan kode error yang salah untuk perangkat yang tidak diamankan dengan kredensial kunci layar di beberapa API level. (b/148626482)
  • Memperbaiki masalah saat BiometricManager dan BiometricPrompt akan menampilkan kode error yang salah untuk perangkat tanpa implementasi keyguard di beberapa API level. (891c6e0)

Versi 1.1.0-alpha01

24 Juni 2020

androidx.biometric:biometric:1.1.0-alpha01 dirilis. Versi 1.1.0-alpha01 berisi commit ini.

Fitur Baru

  • Memfaktorkan ulang implementasi library internal untuk mengatasi potensi sumber kebocoran memori dan perilaku yang tidak diinginkan lainnya:
    • Fragmen internal kini berbagi dan mempertahankan data menggunakan ViewModel yang terikat pada siklus proses aktivitas aplikasi klien.
    • Autentikasi kredensial perangkat sebelum Android 10 (API level 29) tidak lagi memulai aktivitas transparan dalam aplikasi klien.

Perbaikan Bug

  • Menyelesaikan peringatan penghentian yang terkait dengan penggunaan FingerprintManagerCompat. (b/142967618)
  • Mengubah cara metode platform yang dibatasi SDK dipanggil untuk menghindari masalah verifikasi class pada versi Android yang lebih lama. (94beb4b)
  • Dependensi Gradle yang bukan bagian dari API publik tidak lagi diekspor oleh library. (f289d9e)

Versi 1.0.1

Versi 1.0.1

18 Desember 2019

androidx.biometric:biometric:1.0.1 dirilis. Versi 1.0.1 berisi commit ini.

Perbaikan bug

  • Mengembangkan solusi penggantian sidik jari yang sudah ada untuk autentikasi berbasis kripto ke vendor terpengaruh yang diketahui, sekaligus membatasinya ke API 28 (b/143361271)
  • Memperbaiki masalah di perangkat tertentu yang menyebabkan dialog biometrik ditampilkan di bawah overlay sistem (b/143230260)
  • Memperbaiki beberapa masalah dengan setDeviceCredentialAllowed(true) (b/143091227, b/143097321, b/143653944)
  • Memperbaiki masalah pada versi Android tertentu yang menyebabkan onAuthenticationSuccess tidak selalu dipanggil setelah pengguna mengonfirmasi kredensial perangkatnya (b/145232806 )
  • Memperbaiki masalah pada versi Android tertentu yang menyebabkan onAuthenticationError tidak selalu dipanggil saat perintah ditutup pada rotasi b/145230042 )
  • Memperbaiki masalah pada versi Android tertentu yang menyebabkan perintah tidak ditutup saat menerima kode error tertentu (b/143683687)
  • Memperbaiki potensi NullPointerException dalam BiometricFragment (b/142599311)

Versi 1.0.0

Versi 1.0.0

7 November 2019

androidx.biometric:biometric:1.0.0 dirilis tanpa perubahan sejak 1.0.0-rc02. Versi 1.0.0 berisi commit ini.

Fitur utama versi 1.0.0

  • Versi kompatibilitas dari API BiometricPrompt dan BiometricManager, seperti yang diimplementasikan di Android 10, dengan dukungan fitur lengkap hingga Android 6.0 (API 23)
  • Pengelolaan siklus proses bawaan untuk BiometricPrompt dalam Fragment atau FragmentActivity
  • Penanganan khusus untuk perangkat yang diketahui salah menyajikan biometrik yang lemah selama autentikasi berbasis kripto

Versi 1.0.0-rc02

23 Oktober 2019

androidx.biometric:biometric:1.0.0-rc02 dirilis. Versi 1.0.0-rc02 berisi commit ini.

Perbaikan bug

  • Menambahkan solusi untuk perangkat tertentu yang diketahui salah memberikan biometrik yang lemah saat autentikasi berbasis kripto dijalankan pada API versi 28 dan 29 (b/142150327)

Versi 1.0.0-rc01

9 Oktober 2019

androidx.biometric:biometric:1.0.0-rc01 dirilis. Versi 1.0.0-rc01 berisi commit ini.

Perbaikan bug

  • Memperbaiki potensi error terkait FingerprintDialogFragment saat menutupnya selagi layar diputar (b/141356362)
  • Memperbaiki masalah saat menerima AuthenticationResult null dari API framework dapat menyebabkan error (b/138862251)
  • Memperbaiki error yang disebabkan oleh ditolaknya BiometricPrompt setelah onSaveInstanceState() (b/138825362, b/140447194 )

Versi 1.0.0-beta02

18 September 2019

androidx.biometric:biometric:1.0.0-beta02 dirilis. Versi 1.0.0-beta02 berisi commit ini.

Perbaikan bug

  • Memperbaiki masalah terkait dukungan kredensial perangkat di versi 1.0.0-beta01
  • Menghapus dependensi Java 8 dan beralih ke menggunakan Java 7 sebagai dependensi (b/140508526)
  • FingerprintHelperFragment sekarang menampilkan ERROR_HW_NOT_PRESENT dengan benar saat tidak ada hardware sidik jari yang terdeteksi (b/140427586)

Versi 1.0.0-beta01

29 Agustus 2019

androidx.biometric:biometric:1.0.0-beta01 dirilis. Versi 1.0.0-beta01 berisi commit ini.

Fitur baru

Kami telah memperkenalkan konstruktor kedua untuk BiometricPrompt yang memungkinkannya untuk di-host di Fragment (bukan di konstruktor yang ada, yang memerlukan FragmentActivity).

Kami juga menghadirkan fungsionalitas berikut dari Android 10 ke library Biometric AndroidX:

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

Di Android 10, library ini akan memanggil metode yang sesuai dari API platform. Di API level yang lebih lama, library ini akan mengemulasikan perilaku.

Perubahan API

  • Menambahkan konstruktor khusus fragmen untuk perintah biometrik (b/131980596)
  • Lihat bagian “Fitur baru” di atas.

Perbaikan bug

  • Menambahkan dukungan kredensial perangkat BiometricPrompt untuk L+
  • Memperbaiki BiometricPrompt untuk menggunakan konstanta error publik (b/137788194)
  • Memperbaiki NullPointerException dalam BiometricPrompt.onAttach() (b/136103103)
  • Mengubah perilaku untuk tidak mengizinkan dibatalkannya BiometricPrompt oleh peristiwa sentuh di luar perintah (b/135684487)
  • Memperbaiki error onAuthenticationError saat nilai error null ditampilkan dalam Kotlin (b/128350861)
  • FingerprintDialogFragment sekarang dapat ditata gayanya (b/127878106)
  • FingerprintDialog sekarang dapat di-scroll (b/126367887)
  • Memperbaiki bug saat memutar dialog biometrik akan memunculkan IllegalStateException (b/124153656 ), (b/123811924)
  • Memperbaiki perilaku yang tidak konsisten di API Level 23 hingga 27. (b/124066957)
  • Memperbaiki masalah saat Dialog Login Sidik Jari membaca teks yang salah menggunakan Talkback. (b/123572331)

Versi 1.0.0-alpha04

3 April 2019

androidx.biometric:biometric:1.0.0-alpha04 dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.

Perbaikan bug

  • Memperbaiki fragmen Biometric yang tidak dibereskan dalam semua kasus. (b/121117380)
  • Memperbaiki BiometricPrompt yang hanya mengizinkan satu instance BiometricPrompt.AuthenticationCallback (b/123857949)
  • Memperbaiki perilaku error BiometricPrompt yang tidak konsisten antara versi sistem dan compat. (b/123572326)
  • Memperbaiki callback onAuthenticationError() dengan @NotNull errString yang menyebabkan NullPointerException saat runtime (b/123167217)
  • Memperbaiki Error tombol Batal androidx.BiometricPrompt (b/122054485)
  • Memperbaiki judul/deskripsi androidx.biometric.PromptInfo yang tidak berubah di Android P (b/122856773)

Versi 1.0.0-alpha03

17 Desember 2018

Perbaikan bug

  • Memperbaiki masalah terkait fragmen
  • Pada perangkat Android O dan yang lebih lama, error penguncian langsung ditampilkan agar konsisten dengan perangkat P dan yang lebih baru