Barcode Selection

Defined in package com.scandit.datacapture.barcode.selection

BarcodeSelection
class BarcodeSelection : DataCaptureMode

Added in version 6.9.0

Data capture mode that implements barcode selection.

Learn more on how to use Barcode Selection in our Get Started guide.

This capture mode uses the barcode scanning and tracking capabilities. It cannot be used together with other capture modes that require the same capabilities, e.g. BarcodeCapture.

forDataCaptureContext(dataCaptureContext, settings)
static @NonNull BarcodeSelection forDataCaptureContext(
        @Nullable DataCaptureContext dataCaptureContext,
        @NonNull BarcodeSelectionSettings settings)

Added in version 6.9.0

Constructs a new barcode selection mode with the provided context and settings. When the context is not null, the capture mode is automatically added to the context.

fromJson(dataCaptureContext, jsonData)
static @NonNull BarcodeSelection fromJson(@NonNull DataCaptureContext dataCaptureContext,
        @NonNull String jsonData)

Added in version 6.10.0

Construct a new barcode selection mode with the provided JSON serialization. The capture mode is automatically added to the context.

isEnabled
boolean isEnabled()
void setEnabled(boolean value)

Added in version 6.9.0

Implemented from DataCaptureMode. See DataCaptureMode.isEnabled.

feedback
@NonNull BarcodeSelectionFeedback getFeedback()
void setFeedback(@NonNull BarcodeSelectionFeedback value)

Added in version 6.9.0

Instance of BarcodeSelectionFeedback that is used by barcode selection to notify users about the selection of a barcode.

The default instance of the Feedback will have the sound enabled but no vibration. A default click tone will be used for the sound.

To change the feedback emitted, the BarcodeSelectionFeedback can be modified as shown below, or a new one can be assigned.

BarcodeSelection barcodeSelection = ...;
barcodeSelection.getFeedback().setSelection(new Feedback(null, Sound.defaultSound()));
dataCaptureContext
@Nullable DataCaptureContext getDataCaptureContext()

Added in version 6.9.0

Implemented from DataCaptureMode. See DataCaptureMode.dataCaptureContext.

pointOfInterest
@Nullable PointWithUnit getPointOfInterest()
void setPointOfInterest(@Nullable PointWithUnit value)

Added in version 6.9.0

The point of interest overwriting the point of interest of the data capture view. By default, this overwriting point of interest is not set and the one from the data capture view is used.

applySettings(settings, whenDone)
void applySettings(@NonNull BarcodeSelectionSettings settings, @Nullable Runnable whenDone)

Added in version 6.9.0

Asynchronously applies the new settings to the barcode selection. If the barcode selection is currently running, the task will complete when the next frame is processed, and will use the new settings for that frame. If the barcode selection is currently not running, the task will complete as soon as the settings have been stored and won’t wait until the next frame is going to be processed.

applySettings(settings)
void applySettings(@NonNull BarcodeSelectionSettings settings)

Added in version 6.9.0

Same as applySettings() with the second argument set to null.

createRecommendedCameraSettings()
static @NonNull CameraSettings createRecommendedCameraSettings()

Added in version 6.9.0

Returns the recommended camera settings for use with barcode selection.

addListener(listener)
void addListener(@NonNull BarcodeSelectionListener listener)

Added in version 6.9.0

Adds the listener to this barcode selection instance.

In case the same listener is already observing this instance, calling this method will not add the listener again.

removeListener(listener)
void removeListener(@NonNull BarcodeSelectionListener listener)

Added in version 6.9.0

Removes a previously added listener from this barcode selection instance.

In case the listener is not currently observing this instance, calling this method has no effect.

reset()
void reset()

Added in version 6.9.0

Asynchronously resets the barcode selection session, effectively clearing the history of selected codes.

unfreezeCamera()
void unfreezeCamera()

Added in version 6.9.0

Unfreeze the camera.

freezeCamera()
void freezeCamera()

Added in version 6.12.0

Freeze the camera.

selectUnselectedBarcodes()
void selectUnselectedBarcodes()

Added in version 6.12.0

Select all the unselected barcodes that are being tracked in current the barcode selection session. This action is dispatched asynchronously and may happen on the next frame.

selectAimedBarcode()
void selectAimedBarcode()

Added in version 6.16.0

Select the barcode being aimed at. Only use this with manual aimer selection.

unselectBarcodes(barcodes)
void unselectBarcodes(@NonNull List<@NonNull Barcode> barcodes)

Added in version 6.17.0

Remove the barcodes from the list of selected barcodes.

unselectBarcodesFromJsonString(json)
void unselectBarcodesFromJsonString(@NonNull String json)

Added in version 6.17.0

Remove the barcodes contained in the given JSON string from the list of selected barcodes. The parameter json must be the JSON serialization of an object containing the barcodes inside an array named barcodes. For example:

{
  "barcodes": [
    {
        "data":"9783598215056",
        "rawData":"OTc4MzU5ODIxNTA1Ng==",
        "symbolCount":12,
        "symbology":"ean13Upca"
    }
  ]
}
increaseCountForBarcodes(barcodes)
void increaseCountForBarcodes(@NonNull List<@NonNull Barcode> barcodes)

Added in version 6.17.0

Increments the count of how many times the given barcodes have been selected.

increaseCountForBarcodesFromJsonString(json)
void increaseCountForBarcodesFromJsonString(
        @NonNull String json)

Added in version 6.17.0

Increments the count of how many times the given barcodes have been selected. The parameter json must be the JSON serialization of an object containing the barcodes inside an array named barcodes. For example:

{
  "barcodes": [
    {
        "data":"9783598215056",
        "rawData":"OTc4MzU5ODIxNTA1Ng==",
        "symbolCount":12,
        "symbology":"ean13Upca"
    }
  ]
}
setSelectBarcodeEnabled(barcode, enabled)
void setSelectBarcodeEnabled(@NonNull Barcode barcode,
        boolean enabled)

Added in version 6.17.0

Enables or disables the selection of a barcode.

setSelectBarcodeEnabledFromJsonString(json, enabled)
void setSelectBarcodeEnabledFromJsonString(
        @NonNull String json,
        boolean enabled)

Added in version 6.17.0

Enables or disables the selection of the barcode represented by the given JSON string.

updateFromJson(jsonData)
void updateFromJson(@NonNull String jsonData)

Added in version 6.10.0

Updates the mode according to a JSON serialization.

barcodeSelectionLicenseInfo
@Nullable BarcodeSelectionLicenseInfo getBarcodeSelectionLicenseInfo()

Added in version 6.12.0

The object containing information about barcode selection licensing.

Note

This value is available with a small delay. To make sure it is available, set a DataCaptureContextListener and, as soon as DataCaptureContextListener.onModeAdded() is called, this license object is available.