RhoMobile на TC52, Android 8.1: «Сканер Bluetooth DS8178 не подключен ...» - PullRequest
0 голосов
/ 07 апреля 2020

Я пытаюсь запустить существующий RhoMobile APK на TC52, Android 8.1. Приложение работает нормально на TC51, Android 6. На TC52, когда я запускаю приложение, я получаю тостовое сообщение

DS8178 Bluetooth Scanner is not connected, therefor BTPairing Utility will be started.

Проблема заключается в том, что - игнорирование приложения BTPairing Utility (я также пытался чтобы отключить его) - я не могу использовать встроенный сканер в моем мобильном приложении. Когда я пытаюсь его использовать, в журнале появляется следующее сообщение

" Свойство штрих-кода decodeSound можно установить только после завершения инициализации сканера "

Просмотр исходный код, похоже, что сканер не инициализирован, вероятно, из-за невозможности сопряжения с Bluetooth-сканером. Но сейчас есть такой сканер, и никогда не будет. Кто-нибудь знает, как отключить это поведение?

Редактировать 1: Вот мой javascript код для включения сканера

 Rho.Barcode.enable({ allDecoders: true }, this.onScan);

Но, я думаю, это происходит до того, как к javascript обращаются ; приложение размещено на веб-сервере; даже если я отключаю WIFI и запускаю приложение, отображается тост. Похоже, что RhoMobile пытается настроить все известные сканеры.

Редактировать 2: Когда я перечисляю все сканеры, я получаю их в следующем порядке

Scanners found: '[
    "Camera Scanner",
    "2D Barcode Imager",
    "Bluetooth Scanner",
    "RS6000 Bluetooth Scanner",
    "DS3678 Bluetooth Scanner",
    "LI3678 Bluetooth Scanner",
    "DS2278 Bluetooth Scanner",
    "DS8178 Bluetooth Scanner"]'
Default scanner: '2D Barcode Imager'

Сканер по умолчанию определяется

Rho.Barcode.getProperty("friendlyName");

Редактировать 3: Хорошо, как предлагается в комментариях, с использованием фактического экземпляра, возвращенного из работ по перечислению; хорошо работают кнопки сканера.

Остается только тост, который просит подключить DS8178 Bluetooth Scanner; Есть ли способ отключить сканеры из конфигурации. xml?

1 Ответ

1 голос
/ 08 апреля 2020

Эта ошибка:

Сканер Bluetooth DS8178 не подключен, поэтому будет запущена утилита BTPairing.

Не поступает из RhoMobile, оно генерируется из Низкоуровневая структура сканирования. Я проверил на более современном устройстве, и я рад сказать, что они исправили орфографическую ошибку. Это происходит, когда что-то (либо EMDK, либо DataWedge) пытается включить сканер DS8178 . Поддержка сканера DS была добавлена ​​только в последней версии платформы сканера мобильных компьютеров, так что, вероятно, это объясняет разницу в поведении, которое вы видите между TC51 и TC52.

RhoMobile (на устройствах Zebra Android) переносит EMDK и представляет каждый поддерживаемый сканер как отдельный объект штрих-кода, и вы можете увидеть все это в массиве, возвращенном из перечисления. Что странно, так это то, что при вашем втором редактировании сканером по умолчанию является «2D Barcode Imager».

Существует несколько опций / возможностей:

  • В платформе RhoMobile имеется ошибка, и по какой-то причине сканер DS8178 включен. Я проверил https://github.com/rhomobile/rhodes/tree/master/lib/commonAPI/barcode/ext/platform/android/src/com/rho/barcode и не вижу такой ошибки. Rho является открытым исходным кодом, но поддерживается Tau-Technologies, если вы хотите изучить этот маршрут.
  • Что-то еще на вашем устройстве включает сканер DS8178, например, профиль DataWedge или другое приложение, использующее EMDK. Вы можете отключить DataWedge (из настроек приложения DataWedge) и перезагрузить устройство, чтобы проверить это.
  • Существует проблема с TC52. Я бы сказал, что это наименее вероятно, так как я никогда не слышал о подобной проблеме

Невозможно отключить любой из сканеров с помощью XML

...