Deprecation warning

Please note that this is outdated documentation for an older release of the Scandit Barcode Scanner SDK.

We are deprecating the 5.x API on all platforms (except Linux). Release 5.19 in April 2021 will be our final. Applications running 5.x will continue to work, and we will continue to release critical bug fixes and security patches only, for one year. We encourage you to migrate to 6.x and take advantage of our latest / advanced features and improved performance.

You'll find the updated documentation at: Data Capture SDK Documentation for Android

ScanditSDKScanSession Interface Reference

Public Member Functions

List< ScanditSDKCodegetNewlyDecodedCodes ()
 
List< ScanditSDKCodegetAllCodes ()
 
void stopScanning ()
 
void pauseScanning ()
 
void clear ()
 
boolean hasNewlyLocalizedCodes ()
 
float getLastFrameTime ()
 

Detailed Description

Interface for a scan session.

The scan session holds all barcodes that were decoded in the current session. These codes are available as getAllCodes().

Configuring Session Behaviour

The scan session is responsible for determining the list of "relevant" barcodes by filtering out duplicates. Depending on your app, different duplicate removal is required. For some applications, only one barcode is required. The scanning process is stopped as soon as one code is decoded. For other applications, multiple codes are scanned after another. For example, a scanner at the cash desk may need to scan multiple products. To avoid duplicates, the same barcode should not be scanned in short succession. The same barcode (data, symbology) should not count as a duplicate if encountered again after a few seconds.

By default, if a barcode has the same symbology and data as code that was decoded less than 500ms ago, it is filtered out as a duplicate. The exact filtering behaviour can be changed by setting the "code duplicate filter", see ScanditSDKScanSettings#setCodeDuplicateFilter for details.

Session Lifetime

The session is cleared when either ScanditSDK#startScanning or , ScanditSDK#stopScanning is called, or when the user manually clears the session using clear.

See also
ScanditSDKScanSettings::setCodeCachingDuration
ScanditSDKScanSettings::setCodeDuplicateFilter

Member Function Documentation

List<ScanditSDKCode> getNewlyDecodedCodes ( )
Returns
a new copy of the list of barcodes that have been successfully decoded in the last frame
List<ScanditSDKCode> getAllCodes ( )

Returns the list of barcodes (data, symbology) that have been decoded in this session.

Depending on the code caching and duplicate filtering behaviour, different sets of codes are returned by this method.

See also
ScanditSDKScanSettings.setCodeCachingDuration
ScanditSDKScanSettings.setCodeDuplicateFilter
Returns
a new copy of the list of barcodes that have been successfully decoded in this session
void stopScanning ( )

Immediately stops the scanning and clears the scan session.

Calling stop will release the camera, so that other applications can use it.

See also
ScanditSDK::stopScanning(), pauseScanning()
void pauseScanning ( )

Immediately Pauses barcode recognition, but keeps camera preview open.

This is useful for briefly pausing the barcode recognition to show the recognized code in an overlay and then resume the scan process to scan more codes.

When only scanning one code and then returning to another part of the application, it is recommended to call stopScanning() instead.

Pausing will not clear the scan session. To remove all codes from the scan session call clear().

See also
ScanditSDK::resumeScanning()
void clear ( )

Remove all recognized codes from the session.

boolean hasNewlyLocalizedCodes ( )

Indicates whether 2D/1D codes were localized in the last processed frame.

This method returns true when either codes were successfully decoded, or the localization detected codes with high probability.

Returns
true when barcodes were localized in the last processed frame.
float getLastFrameTime ( )
Note
this method is not part of a stable API and might be removed in future versions.
Returns
returns the time in second spent processing the last frame

The documentation for this interface was generated from the following file:
  • ScanditSDKScanSession.java