Laser Scanner¶
SAP BTP SDK for Android supports scanning with the following devices:
- Device built-in scanner
IPCMobilescanner connected to a device via theQWedgeappProGlovescanner connected to a device via theInsight MobileappKnox Captureapp scanning onSamsung XCoverdevices
A set of APIs is provided for client code to trigger scans and retrieve scan results from the device's built-in scanner or third-party scanners, such as IPCMobile, ProGlove, and the Knox Capture app scanner.
Supported Laser Scanners: Built-in Scanner, IPCMobile Scanner, ProGlove Scanner Support and Knox Capture App¶
SAP BTP SDK for Android offers APIs to integrate the device built-in laser scanner into your app. It currently supports only Zebra and Honeywell devices, using the DataWedge intent-based API.
The same intent-based API is supported for the IPCMobile scanner connected via the QWedge app, the ProGlove scanner connected to the device via the Insight Mobile app installed on the device, and the Knox Capture app scanning on SamSung XCover device.
These APIs include the functions to detect if the built-in laser scanner is enabled, trigger a scan, and retrieve scan results. Additionally, for the IPCMobile scanner and ProGlove scanner, there's an extra API to check if the QWedge app and the Insight Mobile app are installed on the device.
Note
Detecting App info on the device may raise privacy concerns. To support IPCMobile scanner and ProGlove scanner, client code must explicitly depend on the module that includes the app detection API. It's also necessary to declare potential App info detection in privacy notice if needed.
Register Listeners¶
The ScannerUtil.registerListeners(context: Context, listener: ScannerReceiver.OnResultReceivedListener) API allows client code to register a broadcast receiver for receiving data and provide its own logic when data is received.
The logic is provided by implementing the ScannerReceiver.OnResultReceivedListener callback listener.
Once the scan is complete, client code should call the ScannerUtil.unRegisterListener(context: Context, listener: ScannerReceiver.OnResultReceivedListener) API to unregister the listener. When all the listeners are unregistered, the broadcast receiver will be unregistered automatically.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Trigger a Scan¶
If a built-in laser scanner is enabled on the device, the client code can check whether soft scan is enabled on the device by calling the ScannerUtil.isSoftScanSupport(context: Context) API and triggering a scan using the ScannerUtil.startSoftScan(context: Context) API.
Detect Support for Companion Scanners¶
The Companion scanner connects to a device through a third-party application provided by the scanner vendor, which must be installed on the device. The SDK now supports IPCMobile and ProGlove scanners.
To support IPCMobile and ProGlove scanners, the device must install the QWedge app to connect to IPCMobile scanner and the Insight Mobile app to connect to ProGlove scanner.
To avoid potential privacy issues, the SDK has placed the API for detecting app installations in a separate module. If the client needs scanner support, they must explicitly depend on the module com.sap.cloud.android:companion-scanner-detect and invoke the CompanionScannerDetectUtil.requestScannerStatus(context: Context) API before using the scan API.
Set Screen for ProGlove Scanners¶
For ProGlove scanners with a display screen, the client code can set the display screen by calling the ScannerUtil.sendScreenToProGlove(context: Context, id: String, content: String, rightHeaders: String?, separator: String, durationMs: Int = 0, refreshType: String? = null) API.
Multiple Barcodes Scanning Support for Knox Capture App¶
The Knox Capture app supports scanning multiple barcodes. The receiver callback listener returns all scanned barcodes in a string, separated by commas.
Tested Devices¶
The SDK supports all IPCMobile scanners connected via the QWedge app, all ProGlove scanners connected via the Insight Mobile app, all Samsung XCover devices with the Knox Capture apps installed, and all Zebra and Honeywell devices that support intent-based APIs.
The SDK APIs have been tested on the following devices:
IPCMobile Nexus Connect ScannerProGlove MARK 3ProGlove MARK DisplayGalaxy XCover7Galaxy Tab Active5Zebra TC520KHoneywell EDA51K