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