Barcode Selection Settings

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

class BarcodeSelectionSettings

Added in version 6.9.0

Holds all the barcode selection related settings, such as enabled symbologies and tap behavior. For the settings to take effect, they must be applied to a barcode selection instance using BarcodeSelection.applySettings().


Added in version 6.9.0

Creates a new barcode selection settings instance. All symbologies are disabled. Make sure to enable the symbologies required by your app before applying the settings to BarcodeSelection with BarcodeSelection.applySettings().

BarcodeSelectionSettings(@NonNull Set<CapturePreset> capturePresets)

Added in version 6.19.0

Constructs new barcode selection settings based on the provided presets, enabling relevant symbologies and optimizations. See CapturePreset for more information on how to use capture presets.

static @NonNull BarcodeSelectionSettings fromJson(@NonNull String jsonData)

Added in version 6.10.0

Constructs new barcode selection settings with the provided JSON serialization. See Serialization for details.

@NonNull SymbologySettings getSymbologySettings(Symbology symbology)

Added in version 6.9.0

Get SymbologySettings specific for the given Symbology.

Note that modifying the returned object doesn’t automatically apply the changes to BarcodeSelection. After you made changes to the symbology settings, call BarcodeSelection.applySettings() with these BarcodeSelectionSettings to apply them.

@NonNull TimeInterval getCodeDuplicateFilter()
void setCodeDuplicateFilter(@NonNull TimeInterval value)

Added in version 6.9.0

Determines the time interval in which codes with the same symbology/data are considered not automatically selectable again (automatic selection can happen through singleBarcodeAutoDetection). By default, when the same code (data, symbology) stays in view after just having been selected (manually or automatically) it will not be automatically selected again for 500 milliseconds. This property has no influence on manual selection by tapping. Use this property to change the interval or completely turn off duplicate filtering:

  • Setting this property to value smaller than zero, means that the same code will not be automatically selectable again until the selection has been stopped.

  • Setting this property to a value of zero means that the same code will be automatically selectable again immediately. In use cases that includes automatic selection this is likely never wanted.

  • Setting this property to a value larger than zero indicates the time that must pass between the same code to be automatically selected again.

@NonNull Set<Symbology> getEnabledSymbologies()

Added in version 6.9.0

Returns the set of enabled symbologies.

void enableSymbologies(@NonNull Set<Symbology> symbologies)

Added in version 6.9.0

This function provides a convenient shortcut to enabling decoding of particular symbologies without having to go through SymbologySettings. By default, all symbologies are turned off and symbologies need to be explicitly enabled.

enableSymbology(symbology, enabled)
void enableSymbology(Symbology symbology,
        boolean enabled)

Added in version 6.9.0

This function provides a convenient shortcut to enabling/disabling decoding of a particular symbology without having to go through SymbologySettings.

Some 1d barcode symbologies allow you to encode variable-length data. By default, the Scandit Data Capture SDK only scans barcodes in a certain length range.

If your application requires scanning of one of these symbologies, and the length is falling outside the default range, you may need to adjust the active symbol counts for the symbology in addition to enabling it.

boolean getSingleBarcodeAutoDetection()
void setSingleBarcodeAutoDetection(boolean value)

Added in version 6.9.0

If true, when a single barcode is tracked it’s automatically selected. Defaults to false.


This setting is still in beta and may not yet work reliably in all situations.

boolean getTapGestureForSelectionEnabled()
void setTapGestureForSelectionEnabled(boolean value)

Added in version 6.16.0

If false, selection through tap is disabled. Defaults to true. This property only has its effect when used with manual aimer selection.

boolean getSwipeGesturesEnabled()
void setSwipeGesturesEnabled(boolean value)

Added in version 6.19.0

If true, user can swipe right to select all barcodes in the view or swipe left to deselect all barcodes in the view. Defaults to true.

@NonNull BarcodeSelectionType getSelectionType()
void setSelectionType(@NonNull BarcodeSelectionType value)

Added in version 6.9.0

This setting is used to define the method that BarcodeSelection will use to select barcodes. Defaults to BarcodeSelectionTapSelection.

setProperty(name, value)
void setProperty(@NonNull String name,
        @NonNull Object value)

Added in version 6.9.0

Sets property to the provided value. Use this method to set properties that are not yet part of a stable API. Properties set through this method may or may not be used or change in a future release.

@NonNull Object getProperty(@NonNull String key)

Added in version 6.9.0

Retrieves the value of a previously set property. In case the property does not exist, -1 is returned.

void updateFromJson(@NonNull String jsonData)

Added in version 6.10.0

Updates the settings according to a JSON serialization. See Serialization for details.