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.
- 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.
- 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.
- 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.
- 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.
- 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.
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
}
}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.
Devuelve un error de entrada y mantiene el flujo de trabajo disponible para otro escaneo.
Deduplicar mediante una clave de evento de corta duración; nunca reciba doblemente el inventario en silencio.
Detenga la operación actual, muestre un estado recuperable y permita un reintento controlado.
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.
- 01
Modelo de registro, opción de escáner, compilación Android, firmware y versión SDK.
- 02
Ejecute pruebas de arranque en frío, inicio/parada repetidas, fondo/reanudación y cancelación.
- 03
Utilice el código 128, una etiqueta dañada, un disparador vacío y una simbología no compatible.
- 04
Confirme que no se escriban datos de escaneo sin procesar ni ningún identificador de cliente en los registros ordinarios.
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.