Hello,
I'm trying to figure out how I can trigger the laser scanner on a TC21 programmatically.
I'm developing a testcase (with Appium and Java on Eclipse) to perform a functional test on a application what is installed on a physical Zebra TC21 which is connected to my laptop.
Because the application is able to scan items I would like to trigger the laser scanner and point the device to a barcode.
First I tried to execute an 'adb shell input keyevent' (L1,L2,R1,R2 buttons ) commands to trigger de laser scanner but it didn't work.
Even when I assign the volume down button to the scan button in the key programmer and programmatically press the key driver.pressKey(new KeyEvent(AndroidKey.VOLUME_DOWN));
the laser scanner isn't triggered but triggers the volume down, so it looks like the KeyEvent pressKey is not the same as manual triggering the button.
When I enable the Data Capture Plus Button I cannot see the element when I fetch the getPageSource()
.
Also I've been reading about Soft Scan Trigger in the TechDocs section I'm not did not succeed to send a broadcast to the application.
When I instantiate the Intent object every time I get a Exception in thread "main" java.lang.RuntimeException: Stub!
Can someone help me with this or having others ideas please help me to point me to the right direction?
Thanks in advance.
1 Replies
Dont try to override the external buttons - you do not need to do this.
There is a simpler method to do this - in Datawedge - you use the Soft-Scan feature.
In techdocs starting here:
https://techdocs.zebra.com/datawedge/13-0/guide/about/
Look at the Datacapture Sample app here:
https://techdocs.zebra.com/datawedge/13-0/guide/samples/barcode1/
As you see in the UI - there is a Soft-Scan button - this is the programmatical method to indicate to Datawedge to begin scanning.
The Very Basic verison of using Datawedge in a Lightweight manner is the second sample I always refer to - which is "Basic Intent" sample app found here:
https://techdocs.zebra.com/datawedge/13-0/guide/samples/basicintent1/
FYI - These samples expect to use Android Studio - and not the legacy eclipse-based projects - so you may need to re-adjust for this in your code / project.