I just started an Android project and I'm importing com.google.zxing.integration.android.IntentIntegrator
Doing tests, I noticed it's sometimes pretty hard to have the scanner find the barcode, I have to make sure it's aligned well, and move the phone back and forth several times before it find it.
(In case it matter, the targets are 52x52 ECC200 codes generated using iec16022 on linux)
I know it can be caused by the phone's camera or a lot of other things, but I have a couple of questions to make sure :
- I notice I need to have the phone oriented perfectly right (the line of the scanner must line up with the middle line of my code).
If I try to hold the phone diagonally, the scan almost never happens.
But I see some other scanner apps allow it, so I'm wondering if it's an option ? A flag to tell the scanner not to check the orientation?
- Is there some flags or intents I can use to speed up the detection, or make it less strict? I tried using initiateScan(DATA_MATRIX_TYPES) so it doesn't have to look for other codes, I think it helped a bit, any other similar hint?
Maybe telling the scanner the size to look for would help? (Since I only generate 52x52 codes)
Thanks, and sorry for the beginners questions!
PS. Here's an example : http://i.imgur.com/bYOEM33.png
Indeed, I noticed I couldn't scan the code at all earlier when it was next to a black border. That's a pretty big circle in the example, lot of wasted space...
But it should be easy to change to QR codes since I'm so early in the project, and I don't have any big reason to use Data Matrix specifically, I'll just switch, thanks for the info.