Developer Hub / Escáner de código de barras /

Integración del escáner de código de barras

Cree un límite de escáner, normalice la cuña, la intención o los resultados directos y cierre cada sesión limpiamente.

Estándar de publicaciónDesarrolladores

Conecte y valide su aplicación en el hardware objetivo.

Un flujo de escaneo repetible que ofrece una forma de evento propiedad de la aplicación.

Android desarrolladores integran un escáner portátil en una aplicación existente.

Los recursos públicos se centran en patrones reproducibles. SDK, firmware y documentación restringida permanecen en canales de distribución autorizados.

Evidencia comparable con método, versión y límites.

Recursos para desarrolladoresEscáner de código de barras /
Laboratorio RuggedLayerprincipiante
Guías, notas de SDK, aplicaciones de ejemplo y compatibilidad para código de barras y RFID.Android desarrolladores integran un escáner portátil en una aplicación existente.
  • Una aplicación Android con un flujo de trabajo que necesita un resultado de código de barras.
  • El modelo de destino exacto, la construcción Android y el dispositivo aprobado SDK identificados.
  • Una decisión sobre cuña, intención o transporte directo SDK ; no los mezcle accidentalmente.

Estándar de publicación

Integre Android empresarial con evidencia versionada.

Los recursos públicos se centran en patrones reproducibles. SDK, firmware y documentación restringida permanecen en canales de distribución autorizados.

  1. 01

    Elija el transporte para el flujo de trabajo

    Utilice la cuña cuando una forma enfocada necesite una actualización rápida. Utilice una intención explícita o una devolución de llamada cuando la aplicación sea propietaria del evento. Utilice un dispositivo directo API solo detrás de un adaptador pequeño para que las pantallas comerciales no dependan de los tipos de proveedores.

  2. 02

    Defina el evento que posee su aplicación

    Mantenga juntos el texto decodificado, los bytes sin procesar, la simbología y el tiempo recibido. Trate la carga útil de transporte como una entrada que no es de confianza y rechace los datos faltantes, de gran tamaño o no decodificables antes de que llegue a la lógica del inventario.

  3. 03

    Abre, escucha, inicia y para con un solo propietario

    Registre la ruta del resultado antes de iniciar una decodificación. Comience solo una vez, deténgase cuando finalice el flujo de trabajo y cierre el recurso del dispositivo desde cada ruta de salida, incluidos el fondo, la cancelación y los errores.

  4. 04

    Demuestra los caminos infelices

    Pruebe una carga útil vacía, un resultado duplicado, un tiempo de espera, una simbología no compatible, una reanudación de pantalla y un dispositivo sin opción de escáner. Un escaneo verde en un dispositivo no es una declaración de compatibilidad para todas las configuraciones.

Aplicaciones de ejemplo / Kotlin

Patrones de SDK y API

Patrón de adaptador original. Vincule CapturePort al dispositivo aprobado SDK en su proyecto privado 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
  }
}
No se publica ningún binario del fabricante, referencia de API, firmware ni ejemplo de código fuente sin registrar el permiso de redistribución y el alcance compatible.

Distribución de SDK

Control de publicación

No se publica ningún binario del fabricante, referencia de API, firmware ni ejemplo de código fuente sin registrar el permiso de redistribución y el alcance compatible.

Sin valor o bytes sin formato

Devuelve un error de entrada y mantiene el flujo de trabajo disponible para otro escaneo.

El mismo resultado llega dos veces.

Deduplicar mediante una clave de evento de corta duración; nunca reciba doblemente el inventario en silencio.

Tiempo de espera agotado o escáner ocupado

Detenga la operación actual, muestre un estado recuperable y permita un reintento controlado.

La pantalla sale del primer plano

Deténgase o haga una pausa según el contrato de flujo de trabajo y luego vuelva a registrarse de forma segura en el currículum.

Estados de evidencia

Evidencia comparable con método, versión y límites.

  1. 01

    Modelo de registro, opción de escáner, compilación Android, firmware y versión SDK.

  2. 02

    Ejecute pruebas de arranque en frío, inicio/parada repetidas, fondo/reanudación y cancelación.

  3. 03

    Utilice el código 128, una etiqueta dañada, un disparador vacío y una simbología no compatible.

  4. 04

    Confirme que no se escriban datos de escaneo sin procesar ni ningún identificador de cliente en los registros ordinarios.

Conecte y valide su aplicación en el hardware objetivo. Ejecute el mismo contrato de evento con un adaptador falso antes de conectar el hardware.

Recursos

Patrones de SDK y API

No se publica ningún binario del fabricante, referencia de API, firmware ni ejemplo de código fuente sin registrar el permiso de redistribución y el alcance compatible.

Conecte y valide su aplicación en el hardware objetivo.

Comparta el flujo de trabajo no confidencial de la aplicación, el dispositivo actual y la ruta de integración; definiremos el entregable de validación más adecuado.

Conectar y validar mi aplicación