BarCode スキャナー CipherLab 1070 を持っています。OTG ケーブルを介して Android デバイスに接続されています。それを利用してバーコードを読み取る必要があります。
このデバイスの助けを借りてコードをスキャンしているとき:
- スキャン番号
- 私のアプリケーションに、アンドロイドに番号を1つずつ送信します。アプリケーションはそれを KEY_DOWN イベントとして認識します。
- その後 a) アクティビティにクリック可能なアイテムがある場合 - スキャナーでタッチダウンします (ただし、タッチアップはしません) (指でビューを click_down して離さないように見えます) b) ビューが既に保持されている場合 (タッチした場合) down) - touch_up を実行します (ビューから指を離してクリック イベントが発生するように)。
したがって、2 つのバーコードを続けて読み取ると、スキャナはビューで 1 回のクリックをシミュレートします。6 つのコードを読み取った場合 - 3 クリック。
いくつかのボタンが存在するアプリケーションのほとんどの部分で機能します。例 - ColorSheep。バーコードをスキャンすると、色がリセットされます O_O
そしてもう1つ。私は2つの断片を持っています。1 つはリスト ビューで、1 つは GridView です。どちらもアダプターと onItemClickListeners を実装しています。スキャナーは、GridView のサブビューをアクティブにします。
それで何が起こるか:コードをスキャンするとアイテムのグリッドがあります-最初のアイテムは「touched_down」です。2番目をスキャンすると、「touch_down」が解放され、1番目のアイテムに対してonItemClickListenerが呼び出されます。4 - touch_down、4 - touch up、および onItemClickListener。
GridView で特定の項目をクリックすると、この項目でこのバグが発生します。
例 : 5 番目の項目をクリックします。クリックされ、すべてOKです。それから私はコードを6回読みました。したがって、5 番目の項目は 3 回「クリック」されます。
バーコード読み取りの手順について。私のアプリは、一連の「keyDown」イベントを確認します。いくつかの魔法の助けを借りてスキャンした後、私のビューをクリックし始めます。景色だけではありません。アクティビティにビューがなく、メニューがある場合、スキャナはメニューを「クリック」します。
助けてくれてありがとう。