Biometrics with iris and face recognition
Asked Answered
D

2

12

In blog Better Biometrics in Android P they said: "To keep users safe, most apps and devices have an authentication mechanism, or a way to prove that you're you. These mechanisms fall into three categories: knowledge factors, possession factors, and biometric factors. Knowledge factors ask for something you know (like a PIN or a password), possession factors ask for something you have (like a token generator or security key), and biometric factors ask for something you are (like your fingerprint, iris, or face)".

But when I read in BiometricPrompt API, I can't see document for iris or face, authenticate only support for fingerprint: "This call warms up the fingerprint hardware, displays a system-provided dialog, and starts scanning for a fingerprint. It terminates when BiometricPrompt.AuthenticationCallback.onAuthenticationError(int, CharSequence) is called..." How I can use Biometrics to create authentication login with iris and face or any other solution for this?

Decollate answered 3/7, 2018 at 3:7 Comment(2)
The BiometricPrompt API does not appear to have any way for the developer to choose the type of biometry that will be used, or even to know the type after the authentication has taken place. It's up to the platform to select this.Precancel
@Precancel Then BiometricPrompt needs an update!Filamentous
A
9

Android 9 only includes support for the Fingerprint aspect of biometric authentication. Iris and facial recognition will be supported down the line. Note that this results in the deprecation of the previous FingerprintManager APIs when writing apps for Android P.

Android 9 only includes fingerprint integration for BiometricPrompt. However, integrated support for other biometric modalities are forthcoming.

Source

Amadis answered 19/10, 2018 at 5:54 Comment(3)
Thank you some how I missed that in the link I was just looking at before I got here...funny I pay more attention to SO then actual documentation from source...wait thats sad not funny :/Eshelman
yes, new update is available exact after a year :) ..find it here.Columnist
Is there any way to use only face recognition instead of fingerprint using androidx biometric api.Sang
J
17

Android 6

  • Introduces the FingerprintManager class to provide support for fingerprint sensors.
  • Developers needed to build their own fingerprint UI.

Android 9

  • Deprecates the FingerprintManager class.
  • Introduces a new Biometric API to access the variety of biometric hardware available on OEM devices.
  • Introduces a standardized fingerprint UI policy. The OEMs can now customize the UI. The app developers lose the ability to create their custom UIs.
  • It includes fingerprint integration only for the BiometricPrompt class. Fingerprint BiometricPrompt

Android 10

  • The Biometric API is now part of the AndroidX Biometric Library, which makes all of the biometric behavior from Android 10 available to all devices that run Android 6.0 (API level 23) or higher.
  • Includes fingerprint and face authentication integration for BiometricPrompt. Fingerprint and face authentication BiometricPrompt
  • Introduces the BiometricManager class that developers can use to query the availability of biometric authentication
    • If the device supports multiple biometrics, the user can specify a default/prefered method in the OS settings.
    • BiometricManager doesn't give you information about the available methods, it just returns whether there is at least one available or not.
    • BiometricManager doesn't allow you to know which biometric method is being used.
    • BiometricManager doesn't allow you to select a preferred method if the device supports multiple methods.
    • If there are no biometric sensors present, the API now allows developers to specify whether they want to use device credentials (PIN, pattern, or password) instead.
  • The framework is now providing a friendly, standardized API for OEMs to integrate support for all types of biometric sensors on their devices.
  • The framework has now built-in support for facial authentication in Android 10 so that vendors don’t need to create a custom implementation.
  • Biometric Library architecture: Biometric Library architecture

About the iris scanners, several OEMs (e.g. Samsung) have already integrated the implementations of their iris sensors with the Biometric API. However, Android doesn't provide a standard API for OEMs to interact with the iris sensors yet (as far as I know), which prevents AOSP-based ROMs to access the iris sensors.

In the AOSP issue tracker, there is an open ticket for "Adding Biometrics Iris HAL interface", that aims to create a HAL interface to standardize how the Android framework communicates with iris scanners. Unfortunately, the last progress made in the ticket was in March 2018.

Update: Android 11

  • Android 11 introduces the BiometricManager.Authenticators interface. This interface defines the possible strengths of biometric hardware elements:
    • BIOMETRIC_STRONG: Any biometric (e.g. fingerprint, iris, or face) on the device that meets or exceeds the requirements for Strong, as defined by the Android CDD.
    • BIOMETRIC_WEAK: Any biometric (e.g. fingerprint, iris, or face) on the device that meets or exceeds the requirements for Weak, as defined by the Android CDD.
    • DEVICE_CREDENTIAL: The non-biometric credential used to secure the device (i.e., PIN, pattern, or password).
  • The ACTION_BIOMETRIC_ENROLL intent action invokes system settings and requests the user to enroll a biometric hardware element. You can provide the strength level as an extra.
  • The AuthenticationResult API has a new method getAuthenticationType() that allows you to check whether the user authenticated using biometric or device credentials.

References

Jolly answered 10/1, 2020 at 16:29 Comment(6)
Do I get to know from API whether there is only fingerprint hardware is there, or both fingerprint and faceId is there? I am using Q10 and seems its not possible to detect itAdditament
BiometricManager doesn't give you information about the available methods, it just returns whether there is at least one available or not.Jolly
Thanks .hope they add that API.Additament
@DavidMiguel : is Soli chip mandatory for Face recognition to work in Android 10 devices ?Stalinism
@DavidMiguel Is there any constant available in Settings class for < R? I found ACTION_FINGERPRINT_ENROLL. But it is deprecated.Zoochemistry
For API >= M you need to use Settings.ACTION_SECURITY_SETTINGS, for API >= Settings.ACTION_FINGERPRINT_ENROLL and for API >= R Settings. ACTION_BIOMETRIC_ENROLL.Jolly
A
9

Android 9 only includes support for the Fingerprint aspect of biometric authentication. Iris and facial recognition will be supported down the line. Note that this results in the deprecation of the previous FingerprintManager APIs when writing apps for Android P.

Android 9 only includes fingerprint integration for BiometricPrompt. However, integrated support for other biometric modalities are forthcoming.

Source

Amadis answered 19/10, 2018 at 5:54 Comment(3)
Thank you some how I missed that in the link I was just looking at before I got here...funny I pay more attention to SO then actual documentation from source...wait thats sad not funny :/Eshelman
yes, new update is available exact after a year :) ..find it here.Columnist
Is there any way to use only face recognition instead of fingerprint using androidx biometric api.Sang

© 2022 - 2024 — McMap. All rights reserved.