Developer Hub / Lecteur de codes-barres /

Intégration du lecteur de codes-barres

Créez une limite claire pour le scanner, normalisez les résultats issus d’une sortie clavier (keyboard wedge), d’un Intent ou d’un SDK direct, puis fermez proprement chaque session.

Norme de publicationDéveloppeurs

Connectez et validez votre application sur le matériel cible.

Un flux d'analyse reproductible qui fournit une forme d'événement appartenant à l'application.

Développeurs Android intégrant un scanner portable dans une application existante.

Les ressources publiques ciblent des modèles reproductibles. SDK, firmware et documents fabricant restreints restent dans leurs canaux approuvés.

Des preuves comparables avec méthode, version et limites.

Ressources développeursLecteur de codes-barres /
Laboratoire RuggedLayerDébutant
Guides, notes SDK, exemples et compatibilité pour terminaux code-barres et RFID.Développeurs Android intégrant un scanner portable dans une application existante.
  • Une application Android avec un flux de travail nécessitant un résultat de code-barres.
  • Le modèle cible exact, la construction de Android et l'appareil approuvé SDK ont été identifiés.
  • Une décision concernant le transport en keyboard wedge, Android Intentnel ou direct SDK ; ne les mélangez pas accidentellement.

Norme de publication

Intégrer Android en entreprise avec des preuves versionnées.

Les ressources publiques ciblent des modèles reproductibles. SDK, firmware et documents fabricant restreints restent dans leurs canaux approuvés.

  1. 01

    Choisissez le transport pour le workflow

    Utilisez Wedge lorsqu’un formulaire ciblé nécessite une mise à niveau rapide. Utilisez une intention ou un rappel explicite lorsque l'application est propriétaire de l'événement. Utilisez un appareil direct API uniquement derrière un petit adaptateur afin que les écrans professionnels ne dépendent pas des types de fournisseurs.

  2. 02

    Définir l'événement que possède votre application

    Conservez ensemble le texte décodé, les octets bruts, la symbologie et l’heure de réception. Traitez la charge utile de transport comme une entrée non fiable et rejetez les données manquantes, surdimensionnées ou indécodables avant qu'elles n'atteignent la logique d'inventaire.

  3. 03

    Ouvrir, écouter, démarrer et arrêter dans un seul propriétaire

    Enregistrez le chemin du résultat avant de démarrer un décodage. Démarrez une seule fois, arrêtez-vous à la fin du flux de travail et fermez la ressource de l'appareil de chaque chemin de sortie, y compris l'arrière-plan, l'annulation et les erreurs.

  4. 04

    Prouvez les chemins malheureux

    Testez une charge utile vide, un résultat en double, un délai d'attente, une symbologie non prise en charge, une reprise d'écran et un appareil sans option de scanner. Une analyse verte sur un appareil ne constitue pas une déclaration de compatibilité pour chaque configuration.

Applications exemples / Kotlin

Modèles SDK et API

Modèle d'adaptateur original. Liez CapturePort à l'appareil approuvé SDK dans votre projet privé Android.

scan-boundary.kt

data class CaptureEvent(
  val value: String,
  val symbology: String?,
  val capturedAt: Instant,
)

interface CapturePort {
  fun open()
  fun start()
  fun stop()
  fun close()
  fun setListener(listener: (CaptureEvent) -> Unit)
}

class ScanWorkflow(private val scanner: CapturePort) {
  private var active = false

  fun begin(onCapture: (CaptureEvent) -> Unit) {
    if (active) return
    scanner.open()
    scanner.setListener(onCapture)
    scanner.start()
    active = true
  }

  fun end() {
    if (!active) return
    runCatching { scanner.stop() }
    runCatching { scanner.close() }
    active = false
  }
}
Aucun binaire fournisseur, référence d'API, firmware ou exemple de code source n'est publié sans autorisation de redistribution et périmètre pris en charge enregistrés.

Distribution des SDK

Contrôle de publication

Aucun binaire fournisseur, référence d'API, firmware ou exemple de code source n'est publié sans autorisation de redistribution et périmètre pris en charge enregistrés.

Aucune valeur ni octets bruts

Renvoie une erreur de saisie et conserve le flux de travail disponible pour une autre analyse.

Le même résultat arrive deux fois

Déduplication par une clé d'événement de courte durée ; ne recevez jamais silencieusement un inventaire en double.

Délai d'attente ou scanner occupé

Arrêtez l'opération en cours, affichez un état récupérable et autorisez une nouvelle tentative contrôlée.

L'écran quitte le premier plan

Arrêtez ou faites une pause conformément au contrat de workflow, puis réinscrivez-vous en toute sécurité à la reprise.

États de preuve

Des preuves comparables avec méthode, version et limites.

  1. 01

    Modèle d'enregistrement, option de scanner, version Android, micrologiciel et version SDK.

  2. 02

    Exécutez des tests de démarrage à froid, de start/stop répétés, de background/resume et d'annulation.

  3. 03

    Utilisez le code 128, une étiquette endommagée, un déclencheur vide et une symbologie non prise en charge.

  4. 04

    Confirmez qu'aucune donnée d'analyse brute ou identifiant client n'est écrit dans les journaux ordinaires.

Connectez et validez votre application sur le matériel cible. Exécutez le même contrat d'événement avec un faux adaptateur avant de connecter le matériel.

Ressources

Modèles SDK et API

Aucun binaire fournisseur, référence d'API, firmware ou exemple de code source n'est publié sans autorisation de redistribution et périmètre pris en charge enregistrés.

Connectez et validez votre application sur le matériel cible.

Partagez le flux applicatif non confidentiel, le terminal actuel et le chemin d’intégration ; nous cadrerons le livrable de validation le plus pertinent.

Connecter et valider mon application