...
Code Block | ||
---|---|---|
| ||
fun configureCapture() { GiniBank.setCaptureConfiguration(this, CaptureConfiguration( fileImportEnabled = true, ... // other configuration options ) ) } // Use the androidx's Activity Result API to register a handler for the capture result. val captureImportLauncher = registerForActivityResult(CaptureFlowImportContract()) { result: CaptureResult -> when (result) { is CaptureResult.Success -> { handleExtractions(result.specificExtractions) } is CaptureResult.Error -> { when (result.value) { is ResultError.Capture -> { val captureError: GiniCaptureError = (result.value as ResultError.Capture).giniCaptureError handleCaptureError(captureError) } is ResultError.FileImport -> { val fileImportError = result.value as ResultError.FileImport handleFileImportError(fileImportError) } } } CaptureResult.Empty -> { handleNoExtractions() } CaptureResult.Cancel -> { handleCancellation() } } } fun handleFileImportError(exception: ImportedFileValidationException) { var message = ... exception.validationError?.let { validationError -> // Get the default message message = getString(validationError.textResource) // Or use custom messages message = when (validationError) { FileImportValidator.Error.TYPE_NOT_SUPPORTED -> ... FileImportValidator.Error.SIZE_TOO_LARGE -> ... FileImportValidator.Error.TOO_MANY_PDF_PAGES -> ... FileImportValidator.Error.PASSWORD_PROTECTED_PDF -> ... FileImportValidator.Error.TOO_MANY_DOCUMENT_PAGES -> ... } } AlertDialog.Builder(this) .setMessage(message) .setPositiveButton("OK") { _, _ -> finish() } .show() } fun startGiniBankSDKForImportedFile(importedFileIntent: Intent) { // Configure capture first configureCapture(); fileImportCancellationToken = GiniBank.startCaptureFlowForIntent(captureImportLauncher, this, importedFileIntent) } |
...
Detect when your app is the default app for opening images or PDF files
Android users can unintentionally set your app as the default for opening images or PDF files. To inform users about it and let them undo it, the SDK detects if your app is selected as the default app and shows the Clear Defaults Dialog enabling them to clear the defaults for your app in the Android settings.
...