Knox Capture sample app tutorial overview
This tutorial teaches you how to use the Knox Capture SDK.
Prerequisites
Before you start with this tutorial:
-
Make sure you have a valid Knox Capture SDK license. Please review SDK licensing for instructions on how to get and activate your license.
-
You need to add the
knoxcapture-sdk-1.0.0.aar
file into your project’s libs folder. -
Download sample app source code from Knox Partner Program’s Developers console.
-
- Refer to the Get Knox Capture SDK license guide if you do not already have access to the Knox Developers console.
- Once you’re in the console, you can find the Knox Capture Sample App source code by going to SDK tools > Sample apps.
Review sample app code
Begin by downloading the sample app source code from the Knox Partner Program’s Developers console. Refer to the Get Knox Capture SDK license guide if you do not already have access to the Knox Developers console.
Once you’re in the console, you can find the Knox Capture Sample App source code by going to SDK tools > Sample apps.
Define BarcodeScanPreviewView
First of all, you need to define BarcodeScanPreviewView
in an XML layout file. You can add your own UI components to trigger scanning or to show barcode scanning results:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.samsung.android.knox.smartscan.preview.BarcodeScanPreviewView
android:id="@+id/preview_view"
android:visibility="visible"
android:layout_width="match_parent"
android:layout_height="match_parent" />
// .. Add views to trigger scanning and show result
</FrameLayout>
Define barcode result callback
You then need to define a barcode result callback in order to get barcode scanning results:
val resultHandlingCallback = object : PreviewResultHandlingCallback {
override fun handleBarcodes(barcodeResult: BarcodeResult, environmentData: EnvironmentData) {
if (barcodeResult.barcodes.isNotEmpty()) {
//implement something with the scanned barcode results.
}
}
}
Initialize preview
Once you’ve determined your layout and barcode result callback, you need to initialize the camera preview:
var previewView: BarcodeScanPreviewView? = null
previewView = findViewById(R.id.preview_view)
//You can build preview config with detailed configuration.
val config: PreviewConfig = PreviewConfig.Builder()
.setCameraResolution(SDKConstants.CameraResolutions.RESOLUTION_UHD)
.setSymbology(BarcodeInfo.allSupportedBarcodeSymbology)
.build()
previewView?.init(config, resultHandlingCallback)
Start camera preview and barcode detection
You can start the camera preview and barcode detection with the following:
previewView?.startPreview()
previewView?.startEngineAnalyzing()
For more information about implementation, please consult the sample app source code.
On this page
Is this page helpful?