UROVO Android SDK/Kotlin

UROVO ScanManager Kotlin örneği ve doğrulama kontrol listesi

Bu uygulama planı, onaylanmış UROVO ScanManager 'ı API küçük bir Kotlin etkinlik örneğine uyarlar. Bu, doğrulamaya yönelik örnek koddur; her UROVO modeli veya ürün yazılımıyla uyumluluk vaadi değildir.

16 dk. okumaİncelendi: 2026-08-10Android geliştirici, UROVO barkod donanımını entegre ediyor
UROVO Android ScanManager entegrasyonu için DT66 özellik görünümü
SDK-referans destekli örnek/her hedef yapılandırmada doğrulanmadı

Doğrulanmış başlangıç noktaları

API taban çizgisiUROVO Android SDK v4.1.0326

Onaylanan paketi kullanın ve yapı sağlama toplamını kaydedin.

Kanalın kodunu çözScanManager.ACTION_DECODE yayını

Belgelenen verileri, dizeyi, uzunluğu ve tür ekstralarını okuyun.

Yaşam DöngüsüAçın ve kaydolun; durdur, kaydını sil ve kapat

Sahipliği uygulama mimarisiyle eşleştirin.

UyumlulukTam cihaz + işletim sistemi + donanım yazılımı + SDK + uygulama derlemesi

API varlığı tek başına başarılı bir doğrulama değildir.

Uygulama kuralı

ScanManager 'ı açık sahibi olan bir donanım kaynağı olarak değerlendirin. Açın, amaçlanan çıkış modunu seçin, kod çözme alıcısını kaydedin, her yükü doğrulayın, ardından kaydı iptal edin ve belirleyici bir şekilde kapatın. Üretim amacı örneğinde yöntem davranışını doğrulayın.

01

Tekrarlanabilir bir SDK taban çizgisi hazırlayın

Onaylanan SDK yapıyı kontrollü geliştirici indirme süreci aracılığıyla paketleyin. Uygulama derlemesi ve cihaz kaydının yanı sıra sürümünü ve SHA-256 değerini kaydedin.

Satıcı API'lerini bir tarayıcı adaptörünün arkasında tutun, böylece iş mantığı donanım olmadan birim testine tabi tutulabilir ve bunun yerine başka bir yakalama uygulaması kullanılabilir.

  • Yalnızca SDK kaynak onaylandı
  • Yapı karması kaydedildi
  • Bağdaştırıcı sınırı tanımlandı
  • Cihaz matrisi oluşturuldu
02

Tarayıcı yaşam döngüsüne bir kez sahip olun

API referansı openScanner, closeScanner, startDecode, stopDecode ve çıktı modu işlevlerini belgelemektedir. Etkinliğin, bir ön plan hizmetinin veya başka bir uygulama kapsamlı bileşenin bu çağrılara sahip olup olmadığına karar verin.

Birden fazla ekranın tarayıcıyı bağımsız olarak açmasını önleyin. Barkod verilerini günlüğe kaydetmeden, tanılama durumunda başarısız dönüş değerlerini tekrarlamak ve yüzeye çıkarmak için durdurmayı ve kapatmayı güvenli hale getirin.

  • Tek kaynak sahibi
  • İdempotent temizleme
  • Gözlemlenen dönüş değerleri
  • Sıradan günlüklerde veri yok
03

Yayın yükünü doğrulama

Başarılı bir kod çözme yayını, ham verileri, kodu çözülmüş bir diziyi, uzunluğu ve barkod türünü içerebilir. Bir etki alanı olayını iletmeden önce işlemi, geçersiz kılınabilirliği ve uzunluğu kontrol edin.

Bir yetkili temsil seçin. Kodlama önemliyse, her barkodun basit ASCII olduğunu varsaymak yerine ham baytları koruyun ve kodu açık bir karakter kümesi altında çözün.

  • Eylem tam olarak eşleşiyor
  • Yüke uygun uzunluk
  • Kodlama politikası belgelendi
  • Yinelenen olay koruması
04

Demodan üretim kanıtlarına geçiş

Derleme başarısı yalnızca kaynak uyumluluğunu kanıtlar. Uygulamayı amaçlanan her model, işletim sistemi ve ürün yazılımı üzerinde temsili etiketler ve yaşam döngüsü senaryolarıyla çalıştırın.

Yapılandırmadan sonra tarayıcı ayarlarını ve çıkış modunu kaydedin. Ürün yazılımı, SDK, uygulama veya MDM politika değişikliklerinden sonra regresyon testi.

  • Temsilci tarama külliyatı
  • Uyku ve devam etme döngüleri
  • Hızlı ve uzun kod vakaları
  • Sürümlendirilmiş test kaydı
Karar matrisi

ScanManager yaşam döngüsü durum haritası

Kaynak çağrılarını gözlemlenebilir uygulama durumuyla uyumlu tutun.

EyaletGerekli eylemArıza yanıtı
BaşlangıçScanManager 'ı oluşturun ve tarayıcıyı açınYakalamayı engelle ve teşhis durumunu göster
HazırÇıkış modunu ayarlayın ve alıcıyı kaydedinTekrar okuyun veya yapılandırma hatasını bildirin
YakalamaTetikleyici olayların kodunu çözmeye başlayın veya kabul edinZaman aşımı, durdurma ve kontrollü yeniden denemeye izin verme
DuraklatıldıKod çözmeyi durdurun ve tasarlandığı gibi kaydı iptal edinEtkin olmayan iş akışına teslimatı önleyin
yok edildiTarayıcıyı bir kez kapatınTemizleme sonucunu hassas veriler olmadan kaydedin
SDK

Minimum yaşam döngüsüne duyarlı Kotlin örneği

Çıkış modu sabitlerini, Android alıcı işaretlerini ve yaşam döngüsü sahipliğini tam SDK, hedef API ve uygulama mimarisine göre doğrulayın.

UrovoScannerActivity.kt
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import android.device.ScanManager
import androidx.appcompat.app.AppCompatActivity

class UrovoScannerActivity : AppCompatActivity() {
    private val scanner = ScanManager()
    private var receiverRegistered = false

    private val decodeReceiver = object : BroadcastReceiver() {
        override fun onReceive(context: Context, intent: Intent) {
            if (intent.action != ScanManager.ACTION_DECODE) return
            val raw = intent.getByteArrayExtra(ScanManager.DECODE_DATA_TAG) ?: return
            val declaredLength = intent.getIntExtra(ScanManager.BARCODE_LENGTH_TAG, raw.size)
            val type = intent.getByteExtra(ScanManager.BARCODE_TYPE_TAG, 0)
            val value = intent.getStringExtra(ScanManager.BARCODE_STRING_TAG)
                ?: raw.copyOf(declaredLength.coerceIn(0, raw.size)).toString(Charsets.UTF_8)
            onValidatedScan(value, type)
        }
    }

    override fun onStart() {
        super.onStart()
        check(scanner.openScanner()) { "Scanner could not be opened" }
        // Confirm the broadcast-output constant in the SDK version you ship.
        check(scanner.switchOutputMode(0)) { "Output mode could not be set" }
        registerReceiver(decodeReceiver, IntentFilter(ScanManager.ACTION_DECODE))
        receiverRegistered = true
    }

    override fun onStop() {
        scanner.stopDecode()
        if (receiverRegistered) unregisterReceiver(decodeReceiver)
        receiverRegistered = false
        scanner.closeScanner()
        super.onStop()
    }

    private fun onValidatedScan(value: String, type: Byte) {
        // Route a sanitized domain event; do not log sensitive barcode values.
    }
}
Proje kontrol listesi

ScanManager doğrulama kontrol listesi

Bu kaydı onaylanmış uygulamaya ve cihaz temel çizgisine ekleyin.

  1. 01

    SDK sürümü ve SHA-256 kaydedildi

  2. 02

    Cihaz SKU, işletim sistemi ve donanım yazılımı kaydedildi

  3. 03

    Tarayıcı tekrar tekrar açılıp kapanıyor

  4. 04

    Çıkış modu okundu veya onaylandı

  5. 05

    Alıcı yaşam döngüsü aktif kullanıcı arayüzüyle eşleşir

  6. 06

    Ham, dize, uzunluk ve tür ekstraları kontrol edildi

  7. 07

    Gerekli tüm sembolojiler test edildi

  8. 08

    Uzun, hasarlı ve hızlı taramalar test edildi

  9. 09

    Uyku, yeniden başlatma ve MDM kiosk modu test edildi

  10. 10

    Hiçbir hassas barkod verisi kaydedilmedi

FAQ

Sık sorulan sorular

switchOutputMode(0) ne anlama geliyor?

API referansı, çıkış modu geçişini belgelemektedir, ancak sabitler ve davranış, tam SDK sürümünde ve cihaz donanım yazılımında kontrol edilmelidir. Numune sabitini doğrulama olmadan üretime kopyalamayın.

Tarayıcı Duraklatıldığında mı yoksa Durdurulduğunda mı kapanmalı?

Uygulama mimarisine ve kısmen gizlendiğinde taramanın devam edip etmeyeceğine bağlı olarak yaşam döngüsü sahipliğini seçin. Önemli gereksinim tek sahip, deterministik temizlik ve test edilmiş davranıştır.

Bu örnek her UROVO cihazda kullanılabilir mi?

Hayır. ScanManager v4.1.0326 tabanlı bir doğrulama planıdır. Yayınlanmadan önce amaçlanan her model, işletim sistemi ve ürün yazılımı üzerinde derleyin ve çalıştırın.

Kanıtlar ve sınırlamalar

SDK-referans destekli örnek/her hedef yapılandırmada doğrulanmadı

Kod açıklayıcıdır ve doğrulama için kasıtlı olarak sürüme özel sabitleri ve Android alıcı politikasını çağırır.

İncelendi: 2026-08-10

Kaynak kaydı
  • UROVO Android SDK v4.1.0326 ScanManager API referansı
  • Onaylanmış SDK dışa aktarmada UROVO ScanManager örnek projesi
  • Android uygulama ve yayın alıcısı yaşam döngüsü belgeleri

Bu kılavuzu bir proje kararına dönüştürün

Uygulama doğrulama isteği

Modeli, donanım yazılımını, SDK temel çizgisini ve tarama iş akışını paylaşın. RuggedLayer tekrarlanabilir bir cihaz doğrulama planının kapsamını oluşturacaktır.

Uygulama doğrulama isteği