DataWedge "Single Fire" Mode (feature request)

// Expert user has replied.
J Julian Forsythe 3 years 1 month ago
2 1 0

Greetings,

TL;DR - How do we raise a feature request with the DataWedge team to automatically suspend the scanner after each read, meaning we have to call RESUME_PLUGIN before the user can scan the next barcode?

Background:

I'm currently trialling the use of DataWedge (with Intents) rather than using the lower level EMDK, however I'm running into a problem where even if I put an immediate call to SUSPEND_PLUGIN in my BroadcastReceiver, a second scan event can be generated by the user before DataWedge gets the message and suspends scanning. Usually we're talking sub ~200 milliseconds, eg the user pulls the trigger very quickly, but it's easily reproducible.

I'm using TC52x's with the September 2021 patch level of both Android 10 and 11 for my testing.

Anyway, the use case is this:
1. Barcode scanner is enabled.
2. User scans EAN.
3. Barcode scanner is disabled.
4. App checks with the server to see if any additional data is required to be captured (eg serial number, imei number).
If no: goto 1.
If yes:
5. Barcode scanner is enabled.
6. User scans Serial/IMEI.
7. Barcode scanner is disabled.
8. Serial/IMEI is validated with the server, depending on the outcome go to 1 or 5.

The problem occurs between steps 2-3 and steps 6-7. Eg they scan two EAN's, or they scan two IMEIs.

Using EMDK, I wouldn't have this issue as I wouldn't submit another read() request until the app was ready for it. DataWedge doesn't seem to have a like-for-like replacement currently, but Zebra has now asked us to prefer DataWedge over EMDK integration, so I'm a bit stuck.

Is anyone else experiencing this issue or would also like a single fire mode for DataWedge to give the app better control over the scanner?

Thanks,
Julian

Please Register or Login to post a reply

1 Replies

C Catherine Wei

Hi Julian,

Due to the nature of Android intents, it may take a few milliseconds or seconds for the suspend intent to be processed and delivered to DataWedge. Until then, scanning is still possible.

A possible workaround is to implement a soft scan button and disable that button as soon as the decode occurs.  Then enable it again when the decoded data is processed.  Implementation of the soft scan trigger can be found here: https://techdocs.zebra.com/datawedge/latest/guide/api/softscantrigger/ …;

Hope that helps!

CONTACT
Can’t find what you’re looking for?