Можно ли установить приложение по умолчанию для сканера штрих-кода Zebra? - PullRequest
0 голосов
/ 25 февраля 2020

Я создал небольшое собственное приложение для Zebra TC20 сканера штрих-кода. Работает просто отлично. Основная проблема, которую мне нужно решить, - это как-то открыть мое приложение при нажатии кнопки сканирования ...

По умолчанию, когда кнопка сканирования нажата и если мое приложение не запущено, приложение DWDemo запускается и показывает отсканированные данные. И мне нужно, чтобы по умолчанию открывалось мое приложение.

Я использую https://github.com/darryncampbell/react-native-datawedge-intents для получения штрих-кодов. И он использует DeviceEventEmitter.

Может быть, есть какие-то методы, чтобы зарегистрировать прослушиватель на переднем плане для указанного события c и запустить приложение?

1 Ответ

1 голос
/ 26 февраля 2020

Этот модуль React (я, кстати, автор :)) жестко запрограммирован, чтобы предполагать, что данные сканирования будут отправлены через Broadcast Intent. Я сделал это таким образом, потому что API DataWedge может взаимодействовать с приложением только через Broadcast Intents, однако данные сканирования не отправляются через API DataWedge, они отправляются через выходной плагин DataWedge Intent, который МОЖЕТ поддерживать как startActivity, так и startService.

По умолчанию устройство из коробки не запускает DWDemo при сканировании штрих-кода. Если вы запустите DataWedge, вы увидите несколько профилей, один из которых будет профилем «по умолчанию», который используется, когда другой профиль не работает (т.е. ни одно приложение, связанное с указанным профилем c, не находится на переднем плане) - Вы можете настроить этот профиль по умолчанию, указав Intent delivery в качестве StartActivity, и я предполагаю, что любой профиль по умолчанию на вашем устройстве вызывает приложение DWDemo.

Итак, для достижения того, чего вы хотите достичь, вам необходимо:

...