Skip to main content
Not sure which Scandit product fits your use case?

Install our data-capture-sdk skill so your coding agent can answer questions about Scandit products and recommend the right one for your use case, directly from your editor. More info →

Run this in a terminal in your project directory, then follow the instructions to select your coding agent.

npx skills add https://github.com/scandit/skills --skill data-capture-sdk

Your coding agent loads the skill automatically based on your prompt; to invoke it explicitly, call /data-capture-sdk followed by your task.

Advanced Configurations

MatrixScan Find is optimized by default for efficiency, accuracy, and a seamless user experience. However, there are multiple advanced settings available to further customize MatrixScan Find to best fit your needs.

BarcodeFind Listener

You may want more fine-grained knowledge over the different events happening during the life of the BarcodeFind mode, such as when the search starts, pauses, and stops.

To do this, you can directly register a BarcodeFindListener on the mode itself, keeping in mind that these listeners are called from a background thread.

mode.addListener(new BarcodeFindListener() {
@Override
public void onSearchPaused(@NonNull Set<BarcodeFindItem> foundItems) {
// The mode was paused
}

@Override
public void onSearchStarted() {
// The mode was started
}

@Override
public void onSearchStopped(@NonNull Set<BarcodeFindItem> foundItems) {
// The mode was stopped after the finish button was clicked
}
});

Set up a transformation

Sometimes, the barcode data needs to be transformed. For example, if the barcode contains the product identifier and other information, when a product is scanned, the barcode data is first parsed (via a transformation) and then the input list is checked.

First implement the BarcodeFindTransformer interface. For example, if you want to only consider the first 5 characters:

class Transformer implements BarcodeFindTransformer {
@Override
public String transformBarcodeData(String data) {
return data.substring(0, 5);
}
}

Then the transformer needs to be set so it can be used by MatrixScan Find:

barcodeFind.setBarcodeTransformer(new Transformer())

UI Customization

The BarcodeFindView by default shows a set of UI elements, any of which can be optionally hidden:

  • Play/Pause button
  • Finish button
  • Searched items carousel
  • Guidance hints
  • Progress bar (hidden by default)

Each of these elements can be shown or hidden as needed. For example:

barcodeFindView.setShouldShowCarousel(false);
barcodeFindView.setShouldShowProgressBar(true);
// …