---
title: Error handling
canonical: https://developer.unico.io/developers/sdks-and-tools/android/error-handling
locale: en
generated_by: markdown-export
---

- [/](/)
- [SDKs and Tools](/developers/sdks-and-tools/overview)
- [Android SDK](/developers/sdks-and-tools/android/requirements)
- Error handling

# Error handling

All error handling for the Android SDK is centralized in this section. The `onErrorAcessoBio` callback receives an `ErrorBio` object with `code` (Int) and `description` (String).

Handling the callback
- Kotlin
- Java

```
override fun onErrorAcessoBio(error: ErrorBio) {**  when (error.code) {    73002 -> { /* camera permission denied — redirect to app settings */ }    73006 -> { /* running on emulator — physical device required */ }    73100 -> { /* no internet connection */ }    else -> { /* generic error handling */ }  }}
```

```
@Overridepublic void onErrorAcessoBio(ErrorBio error) {  switch (error.getCode()) {    case 73002: /* camera permission denied — redirect to app settings */ break;    case 73006: /* running on emulator — physical device required */ break;    case 73100: /* no internet connection */ break;    default: /* generic error handling */  }}
```

Lifecycle callbacks
In addition to `onErrorAcessoBio`, the SDK also triggers:

`onUserClosedCameraManually()` — user closed the camera manually.
`onSystemClosedCameraTimeoutSession()` — session expired due to timeout.
`onSystemChangedTypeCameraTimeoutFaceInference()` — no face detected for 13 seconds; the SDK switches to manual capture.

Error codes
All error codes originate from the `UnicoException` enum and are delivered via `ErrorBio(code, message)`. The `message` field contains the exact SDK string — do not modify or localize it.
CodeMessageDescription`73001``Context invalid`Invalid Android context passed to the SDK`73002``Did not grant permission to open camera`Camera permission was denied by the user`73003``The lest API is 21(LOLLIPOP`Device API level is below the minimum required (API 21)`73004``Could not find implementation interface callback iAcessoBioSelfie``iAcessoBioSelfie` interface not implemented`73005``Could not find implementation interface callback iAcessoBioDocument``iAcessoBioDocument` interface not implemented`73006``Unable to open camera on emulators`SDK does not run on emulators — use a physical device`73007``Unknown and unexpected error in WebApp…`Generic WebApp error (camera, storage, security, networking)`73100``Unable to connect to internet.`No internet connection available`73200``Please inform the config object or json file name`Configuration object or JSON file not provided`73202``Unable to parse json file`JSON configuration file is malformed`73204``Unable to initialize the SDK, please configure the environment on setEnviroment method of build``setEnvironment()` not called before initialization`73300``Unable to get unico authentication object`Failed to retrieve authentication object`73301``Unable to parse object`Failed to parse authentication response`73302``Could not find the unico token`Unico auth token not found`73303``Current host is not registered`Bundle identifier not registered in the SDK Key`73400``Could not initialize camera`Camera initialization failed`73701``Could not find active liveness import`Active liveness module not found`73703``Unable to get active liveness session`Failed to obtain a liveness session`73718``The Session was cancelled because of an unknown and unexpected error…`Unknown internal session error`73721``The Session can't be performed: attempts limit exceeded.`Session cancelled — capture attempt limit reached`73722``The Session can't be performed: face alignment timeout.`Session cancelled — face alignment timed out`73726``An error happened during video recording`Video recording error during liveness`73727``No actions found in a video`No liveness actions detected in video`73740``The user pressed the do not consent button and did not complete the Session.`User declined consent`73800``Could not build encrypted key.`Failed to build the encrypted JWT`73801``The Session of SDK was cancelled because of an unknown and unexpected error.`Unknown internal SDK session error`73802``The Session was cancelled because of an unknown and unexpected error…`Session cancelled — missing required JWT fields`73900``Erro ao analisar imagem`Error analyzing the captured image`73901``É necessário implementar a interface AcessoBioListener``AcessoBioListener` interface not implemented`73902``É necessário insirir um valor maior que 40 segundos no método: setTimeoutSession.``setTimeoutSession` value must be greater than 40 seconds`73903``Arquivo de configuração corrompido. Verifique o arquivo json e tente novamente.`Corrupted configuration file — verify and retry`73904``Erro ao finalizar processo`Error finalizing the capture process`73905``Unable to open document camera`Document camera could not be opened`73906``Document type uninformed`Document type was not specified`74001``onSuccess: not implemented when using open:webAppToken:``onSuccess` callback not implemented for User Journey`74100``Could not prepare SDK-S`Failed to prepare SDK components`74101``No URL token was provided.`No URL token provided for the journey`74102``Environment type was not specified.`Environment (`PROD`/`UAT`) not configured`737120``Unable to initialize liveness`Liveness activity could not be initialized`737220``Capture could not start`Capture process failed to start`737320``Transaction could not start`Transaction could not be initiated`737321``The Session was cancelled because of an unknown and unexpected error. This return value is a catch-all for errors experienced during normal usage of these APIs. Try again.`Generic session provider error — retry
REST API error codesThe codes above are SDK callback errors. REST API error codes (HTTP status families) are documented separately at [API Reference > Error codes](/developers/start/error-codes).Last updated on Oct 8, 2026**