Setting picklistEx on TC20 throws exception

P Paul Sage 3 years ago
5 1 0

I'm having an issue that I could do with some guidance on. I have a customer who is using a TC20 and a TC52. I'm trying to enable picklist mode with the following code:
ScannerConfig config = this.scanner.getConfig();
config.readerParams.readerSpecific.imagerSpecific.picklistEx = ScannerConfig.PicklistEx.HARDWARE;
....
This is working on our devices TC51, TC52 but on the TC20 its throwing an exception of "The value is invalid".
My questions are:
Is this expected or is there something wrong with the device or firmware? My understanding is that the TC20 does support it.
If it is expected what should I do. I.e. how do I know which mode to set HARDWARE/SOFTWARE or whether it should be disabled for devices that don't support it.
It needs to work on all Zebra Android devices so I can't just say HARDWARE for TC52 and SOFTWARE for TC20
The TC20 is Build Number. 01-11-09.00-OG-U03-STD.
Thanks

Please register or login to post a reply

1 Replies

D Darryn Campbell

I would expect this to work but to answer your questions, there is an API to determine whether a parameter is supported but not the individual values of that parameter, https://techdocs.zebra.com/emdk-for-android/7-3/api/reference/com/symbo…; There is also an API to skip any parameter that is not supported by the device (default is true): https://techdocs.zebra.com/emdk-for-android/7-3/api/reference/com/symbo…; But to specifically set the software picklist on TC20 only you would need to detect the device model, https://developer.android.com/reference/android/os/Build.html#MODEL
I tried with hardware picklist mode on a TC20 I have here and it seemed to work, though some TC20s have different scan engines so it could be that mine has a different configuration.  I suggest using the standard Barcode Sample and adding the line to set the picklist mode to https://github.com/Zebra/samples-emdkforandroid-7_3/blob/master/Barcode…, that is the app I used to test.  You'll need to toggle the checkboxes to ensure that line of code gets executed.

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