...
Learn how to launch Gini Capture SDK and handle the results from the example:
Code Block | ||
---|---|---|
| ||
void startGiniCaptureSDK() { // Make sure camera permission has been already granted at this point. // Instantiate the networking implementations. GiniCaptureNetworkService networkService = ... // Configure GiniCapture and create a new singleton instance. GiniCapture.newInstance() .setGiniCaptureNetworkService(networkService) ... .build(); // Launch the CameraActivity and wait for the result. Intent intent = new Intent(this, CameraActivity.class); startActivityForResult(intent, GINI_CAPTURE_REQUEST); } @Override protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == GINI_CAPTURE_REQUEST) { switch (resultCode) { case Activity.RESULT_CANCELED: GiniCapture.cleanup(this); break; case Activity.RESULT_OK: // Retrieve the extractions Bundle extractionsBundle = data.getBundleExtra( CameraActivity.EXTRA_OUT_EXTRACTIONS); // Retrieve the extractions from the extractionsBundle Map<String, GiniCaptureSpecificExtraction> extractions = new HashMap<>(); for (String extractionLabel : extractionsBundle.keySet()) { GiniCaptureSpecificExtraction extraction = extractionsBundle.getParcelable(extractionLabel); extractions.put(extractionLabel, extraction); } showExtractions(extractions); break; case CameraActivity.RESULT_ERROR: // Something went wrong, retrieve and handle the error final GiniCaptureError error = data.getParcelableExtra( CameraActivity.EXTRA_OUT_ERROR); if (error != null) { handleError(error); } GiniCapture.cleanup(this); break; case CameraActivity.RESULT_ENTER_MANUALLY: handleEnterManually(); GiniCapture.cleanup(this); break; } } } void stopGiniCaptureSDK(stopGiniCaptureSDKWithTransferSummary(String paymentRecipient, String paymentReference, String paymentPurpose, String iban, String bic, Amount amount ) { // After the user has seen and potentially corrected the extractions, send the final // transfer summary values to Gini which will be used to improve the future extraction accuracy: GiniCapture.sendTransferSummary( paymentRecipient, paymentReference, paymentPurpose, iban, bic, amount ) // cleanup the capture SDK after sending the transfer summary GiniCapture.cleanup(this) } |