Barcode Tracking Session#

Defined in package com.scandit.datacapture.barcode.tracking.capture

class BarcodeTrackingSession

Added in version 6.0.0

The tracking session contains all the currently tracked barcodes and changes that were made specifically in the last processed frame.


The tracking session should only be accessed from within onSessionUpdated() to which it is provided as an argument. It is not safe to be accessed from anywhere else since it may be concurrently modified.

Specifically no reference to trackedBarcodes, addedTrackedBarcodes, removedTrackedBarcodes or updatedTrackedBarcodes should be kept and traversed outside of onSessionUpdated(). Instead a copy of the lists should be made to avoid concurrent modification. The individual tracked barcodes can be referenced without copying as they are not further modified.

@NonNull List<@NonNull TrackedBarcode> getAddedTrackedBarcodes()

Added in version 6.0.0

Newly tracked barcodes.

@NonNull List<Integer> getRemovedTrackedBarcodes()

Added in version 6.0.0

The identifiers of lost tracked barcodes that were removed.

@NonNull List<@NonNull TrackedBarcode> getUpdatedTrackedBarcodes()

Added in version 6.0.0

Updated tracked barcodes (new location).

@NonNull Map<Integer, @NonNull TrackedBarcode> getTrackedBarcodes()

Added in version 6.0.0

A map from identifiers to tracked barcodes. It contains all currently tracked barcodes.

long getFrameSequenceId()

Added in version 6.1.0

The identifier of the current frame sequence.


As long as there is no interruptions of frames coming from the camera, the frameSequenceId will stay the same.

@NonNull String toJson()

Added in version 6.2.0

Returns the JSON representation of the barcode tracking session.