Le risorse pubbliche si concentrano su modelli di integrazione riproducibili. SDK, firmware e documenti soggetti a restrizioni restano nei canali di distribuzione autorizzati.
Dati comparabili sui dispositivi, con metodo, versione e limiti dichiarati.
- Anonimo Android app con un flusso di lavoro che ha bisogno di un risultato di codice a barre.
- L'esatto modello di destinazione, Android costruzione e dispositivo approvato SDK identificato.
- Una decisione su keyboard wedge, Android Intent o diretto SDK trasporto; non mescolarli accidentalmente.
Standard di pubblicazione
Crea e valida integrazioni Android aziendali con evidenze versionate.
Le risorse pubbliche si concentrano su modelli di integrazione riproducibili. SDK, firmware e documenti soggetti a restrizioni restano nei canali di distribuzione autorizzati.
- 01
Scegli il trasporto per il flusso di lavoro
Utilizzare la cuneo quando una forma focalizzata ha bisogno di una retrofit veloce. Utilizzare un intento esplicito o un callback quando l'applicazione possiede l'evento. API solo dietro un piccolo adattatore così gli schermi aziendali non dipendono dai tipi di fornitori.
- 02
Definire l'evento che la vostra applicazione possiede
Tenere il testo decodificato, i byte grezzi, la simbologia e il tempo ricevuto insieme. Trattare il carico di trasporto come input non attendibile e rifiutare i dati mancanti, oversize o non decaduti prima che raggiunga la logica dell'inventario.
- 03
Apri, ascolta, inizia e fermati in un unico proprietario
Registrare il percorso del risultato prima di iniziare un decodifica. Iniziare solo una volta, interrompere quando il flusso di lavoro termina, e chiudere la risorsa del dispositivo da ogni percorso di uscita, tra cui sfondo, cancellazione e errori.
- 04
Dimostra i sentieri infelice
Prova un payload vuoto, un risultato duplicato, un timeout, una simbologia non supportata, un curriculum dello schermo e un dispositivo senza opzione scanner.
App di esempio / Kotlin
Modelli SDK e API
Adattatore originale. Bind CapturePort al dispositivo approvato SDK nel tuo privato Android progetto.
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
}
}Distribuzione dell'SDK
Criteri di pubblicazione
Nessun codice binario del fornitore, riferimento API, firmware o esempio di origine viene pubblicato finché non vengono registrati l'autorizzazione di ridistribuzione e l'ambito supportato.
Riportare un errore di input e mantenere il flusso di lavoro disponibile per un'altra scansione.
Deduplicato da una chiave di eventi di breve durata; mai silenziosamente doppio inventario.
Fermare l'operazione corrente, mostrare uno stato recuperabile e consentire una riprovazione controllata.
Stop o pausa secondo il contratto del flusso di lavoro, quindi ri-registrare in modo sicuro sul curriculum.
Stati delle evidenze
Dati comparabili sui dispositivi, con metodo, versione e limiti dichiarati.
- 01
Modello di registrazione, opzione scanner, Android costruire, firmware e SDK rilascio.
- 02
Eseguire l'avvio freddo, ripetuti start/stop, test di sfondo/curriculum e cancellazione.
- 03
Codice uso 128, un'etichetta danneggiata, un grilletto vuoto e una simbologia non supportata.
- 04
Confermare che nessun dato di scansione grezzo o identificatore del cliente è scritto ai registri ordinari.
Risorse
Modelli SDK e API
Nessun codice binario del fornitore, riferimento API, firmware o esempio di origine viene pubblicato finché non vengono registrati l'autorizzazione di ridistribuzione e l'ambito supportato.