CheckBiometricAvailabilityTool

Reports which authenticator classes can currently succeed, using AndroidX BiometricManager for biometrics and KeyguardManager.isDeviceSecure for device credentials. No permissions required.

Android does not expose which biometric modality (fingerprint, face, iris) backs each class, so this tool reports authenticator classes rather than guessing sensor types:

  • strong_available — a Class 3 (BIOMETRIC_STRONG) biometric is enrolled and usable.

  • weak_available — a Class 2+ (BIOMETRIC_WEAK) biometric is usable (true whenever strong is).

  • device_credential_available — a PIN/pattern/password is set.

Biometrics and credentials are checked separately. can_authenticate is true if any of the three is available (the same union the tool historically queried: weak biometric or device credential). hardware_type names the best available biometric class: "biometric_strong", "biometric_weak", or — when no biometric is usable — the reason: "none" (no hardware / none enrolled / hardware unavailable), "update_required" (security update needed), "unknown". biometric_status gives the raw reason for the weak-class check (success, no_hardware, hw_unavailable, none_enrolled, update_required, unsupported, unknown).

Output map: can_authenticate, hardware_type, strong_available, weak_available, device_credential_available, biometric_status.

Constructors

Link copied to clipboard
constructor(context: Context)

Properties

Link copied to clipboard
open override val annotations: ToolAnnotations
Link copied to clipboard
open override val description: String
Link copied to clipboard
open override val name: String
Link copied to clipboard
open override val outputSchema: Map<String, Any>
Link copied to clipboard
open override val parameters: List<ToolParameter>

Functions

Link copied to clipboard
open suspend override fun execute(params: Map<String, Any>): ToolResult