Android SDK connections issues

V Vitalii Levytskyi 3 weeks 6 days ago
50 0 0

I'm working on android integration for Zebra SDK in our application.

There is several issues I faced with SDK integration:

  1. I have scanner Symbol CS4070. I can't connect this scanner with STC feature. Neither to my application, nor to official sample application.
  2. I have other scanners, they do connect to my application, but only single at a time. I can't connect multiple scanners with STC (BLE) connection. Official sample hides connection barcode after connection set up, so can't be checked reliably.
  3. I have some issue, when set up connection to same (or different) scanner, after it was disconnected.
    Lib version: barcode_scanner_library_v2.6.29.0-release.aar
    targetSdk = 34, compileSdk = 34, minSdk = 24
    Log when I can't connect scanner (after one was disconnected):

    14:37:46.368 ZebraSdkManager                                             sdkHandler configuration done
    14:37:47.069 SDKHandler                                                  dcssdkEnableBluetoothScannersDiscovery() called
    14:37:55.811 SDKHandler                                                  dcssdkGetPairingBarcode() STC protocol. Add P and Default option KEEP_CURRENT
    14:37:55.811 SDKHandler                                                  dcssdkGetPairingBarcode() Selected protocol is  SSI_BT_LE
    14:37:58.711 SDKHandler                                                  bluetoothLEDeviceAppeared Appeared BT scanner CS6080 BITLOG
    14:37:58.718 SDKHandler                                                  bluetoothLEDeviceAppeared Appeared BT scanner CS6080 BITLOG
    14:37:58.722 SDKHandler                                                  bluetoothLEDeviceAppeared Add new discovered BT scanner CS6080 BITLOG
    14:37:58.723 SDKHandler                                                  assignNextScannerID() called for BTLE scanner named CS6080 BITLOG
    14:37:58.724 SDKHandler                                                  assignNextScannerID() device not found in the backup list. Creating a new ID.
    14:37:58.724 SDKHandler                                                  assignNextScannerID() returning 2
    14:38:10.441 SDKHandler                                                  makeConnected BluetoothLEScanner  CS6080 BITLOG
    14:38:18.358 SDKHandler                                                  ACTION_ACL_DISCONNECTED received for CS6080 BITLOG
    14:38:18.376 SDKHandler                                                  makeInactive started for CS6080 BITLOG
    14:38:18.387 SDKHandler                                                  makeInactive scanner is active
    14:38:18.387 SDKHandler                                                  makeInactive found the device and remove it
    14:38:46.630 SDKHandler                                                  ACTION_ACL_DISCONNECTED received for DS3678 23048523072020 <- Failed connection attept after first one disconnected
    14:38:46.635 SDKHandler                                                  makeInactive started for DS3678 23048523072020
    14:38:46.641 SDKHandler                                                  makeInactive found the device and remove it

    As you could see, scanner was clearly "discovered" as after it "beep" that it wasn't able to connect, last 3 lines in log appeared: ACTION_ACL_DISCONNECTED

    Manual disconnection did't help either.

    UPD: Actually I just found a way to "fix" that issue and successfully connect again, by doing all initialisation calls for sdkHandler again after receiving dcssdkEventCommunicationSessionTerminated. 

    I will try to find exact initialization call (deleting it one by one), which are required to set up new connection in same "session"

     

CONTACT
Can’t find what you’re looking for?