13

Android 3.2タブレットを介してバーコードスキャナーUSBから値を処理しようとしていますが、スキャナーはOSで正常に動作していますが、編集テキストなしでプログラムで値を取得したいのですが、usbmanagerホストとアクセサリがUSB経由で接続されたデバイス。

4

4 に答える 4

9

ほとんどのプラグインバーコードスキャナー(私が見たもの)はHIDプロファイルデバイスとして作成されているため、プラグインされているものはすべて、基本的にキーボードとして表示されます。これが、アクセサリのUSBホストAPIリストに表示されない理由だと思います。Activity.onKeyDown(int keycode、KeyEvent ke)をオーバーライドすることにより、Activity内のキーボードと同じ方法でそれらから生の入力を取得できるはずです。

あなたの活動でこのようなもの:

@Override
protected boolean onKeyDown(int keyCode, KeyEvent event) {
     Log.i("TAG", ""+ keyCode);
     //I think you'll have to manually check for the digits and do what you want with them.
     //Perhaps store them in a String until an Enter event comes in (barcode scanners i've used can be configured to send an enter keystroke after the code)
     return true;
 }
于 2012-07-05T19:02:24.923 に答える
4

Activity keydown イベントで結果を取得します。

例えば:-

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    char pressedKey = (char) event.getUnicodeChar();
    Barcode += "" + pressedKey;
    Toast.makeText(getApplicationContext(), "barcode--->>>" + Barcode, 1)
            .show();
    return true;
}

この投稿がお役に立てば幸いです。

于 2014-04-11T13:36:30.147 に答える