他の機能の中でも、さまざまなバーコードをスキャンして取得した情報を処理できるアプリを構築しています。このアプリが実行されるデバイス (Honeywell CT50) には、スキャナーが組み込まれています。私は ZXing を認識していますが、このアプリでは、組み込みのスキャナーを使用できるようにする必要があります。これは、はるかに高速で扱いやすいためです。
私の質問は、そのような組み込みスキャナーをアプリに適切に統合する方法です。スキャナがバーコードを読み取ると、対応する番号がデバイスが現在行っているものに常に送信されます。これは、たとえば、テキストフィールドを作成してそれにフォーカスを設定すると、何かをスキャンするとすぐに、数字がこのテキストフィールドにコピーアンドペーストされることを意味します。つまり、プログラムでスキャナーに何らかの方法でアクセスする必要はありません。ただし、これは、何かが正常にスキャンされたときにアプリが認識できないことも意味します。このテキスト フィールドの横に [OK] ボタンが表示されるのを防ぎたいので、入力されたデータの処理を開始するタイミングをアプリに通知する必要があります。基本的に、 TextChangedListener を介してこれを行うことはできません。
(少なくともこのデバイスでは)組み込みスキャナーのプレフィックスとサフィックスを定義できることを知っているので、たとえば、バーコードが読み取られるたびに常にENTERキーを押し、これを使用してフィルタリングするように指示できますTextChangedListener。これに関する問題は、このデバイスに他のプリインストールされたアプリもあり、このような変更が行われると正しく動作しないため、残念ながらこれはオプションではありません.
全体として、これに正しい方法でアプローチしているかどうかさえわかりません。アプリのプログラムコードで組み込みスキャナーによって発生した特定のイベントを何らかの方法でキャッチする必要があるようですが、方法がわかりません。