Les Google Play Services en version 7.8 ont apporté des nouveautés pour la détection de visage, mais aussi des codes barres. Présentation des nouveautés sur la détection de code barre.
Après la détection des visages, présentation de la détection de code de barre apportés par les API MobileVision. L'objectif est de lire et de décoder de nombreux codes barre différents rapidement, facilement et en local.
Les classes de détection de code barre sont disponibles dans com.google.android.gms.vision.barcode et la class BarcodeDetector analyse une image pour ensuite retourner un type SparseArray<Barcode>.
Il est possible de détecter des codes barre 1D et 2D. Dans le premier cas, le retour sera plus simple car la valeur sera accessible via la propriété rawValue, mais aussi le type d'encodage dans le champ format.
Pour la version 2D qui contient une donnée structuré, comme un QR code, le champ valueFormat est du type de la valeur détectée et le champ de donnée du type renseigné. Par exemple si une url est renseignée, la constante URL sera renseigné dans valueFormat et la propriété Url contiendra l'url. De nombreux types sont disponibles : adresse, email, paramètre Wifi, une carte professionnelle. Plus d'information sur la class et les types disponibles : https://developers.google.com/android/reference/com/google/android/gms/vision/barcode/Barcode
Avec cette API, la lecture du code barre peut se faire dans n'importe quelle orientation. La détection se fait en local, pour une très bonne rapidité et pour certaines normes comme la PDF-417 où toutes les informations sont contenues, pas besoin de traitement supplémentaire.
Code barre 1D :
Et pour les 2D :
Pour plus d'information sur cette nouveauté :